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