在条件的python循环中访问项目

时间:2017-05-05 02:22:30

标签: python list loops dictionary if-statement

说我有这样的词典列表:

data = [
{'views' : views,
 'ratings' : ratings,
 'link' : link
},
{'views' : views,
 'ratings' : ratings,
 'link' : link
},
{'views' : views,
 'ratings' : ratings,
 'link' : link
},
{'views' : views,
 'ratings' : ratings,
 'link' : link
},
...
...
]

如何获取视图大于500000且评级大于80的项目的链接? 这里的问题是我尝试过的,它基本上打印出所有链接而不经过条件。

2 个答案:

答案 0 :(得分:1)

links = [item['link'] for item in data if item['views'] > 500000]

这个问题太简单了,不适合本网站。

答案 1 :(得分:0)

您可以使用列表理解!

[each['link'] for each in data if int(each['ratings'])>80 and int(each['views'])>500000 ]

注意 - 如果您确定变量类型,请在比较之前将其强制转换为整数!

你有两个条件!

  • views> 500000
  • 评分> 80

由于您的数据是字典列表,请使用项目(dict)作为each遍历列表,并从该列表中获取list键!

希望它有所帮助!