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

问题描述

因此,我有一个电影列表,其中包含有关名称,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