在包含字符串的列表中搜索数字,以返回数值



所以我有一个电影列表,其中包含关于名称、imdb评级和类别的信息,如下所示:

movies = [
{
"name": "Usual Suspects",
"imdb": 7.0,
"category": "Thriller"
},
{
"name": "Hitman",
"imdb": 6.3,
"category": "Action"
},

我正试图创建一个函数,在列表的每个项目中搜索小数点,即imdb评级,并将其与阈值(>5.5(进行比较

我想的方法是,当数字出现时,搜索这个列表中的每个项目,并在浏览这个列表时返回这个值。

如果我想采用这种方法,我应该如何应对?我一直在寻找从列表中返回值的方法,但我找到的方法是针对返回索引的已知项目。。。

谢谢你的帮助/建议!

for movie in movies:
imdb_score = movie['imdb']
if imdb_score > 5.5:
print(imdb_score)

这对你想做的事有用吗?

movies = [
{
"name": "Usual Suspects",
"imdb": 7.0,
"category": "Thriller"
},
{
"name": "Hitman",
"imdb": 6.3,
"category": "Action"
}]
print([x['name'] for x in movies if x['imdb']>5.5])

由于movies是一个字典列表,如果没有庞大的数据集,您可以循环使用它。

ls = []
for movie in movies:
if movie['imdb'] > 5.5:
ls.append(movie)

列表中的每个位置都是一个字典,要访问"imdb",需要执行以下操作:

# For each movie in the movies list
for movie in movies:
# 'imdb' is a key of your dictionary
if movie['imdb'] > 5.5: # The movie['imdb'] returns the value (the decimal number)
return True # You can add to another data structure to store for example

最新更新