2017-05-05 79 views
-2

说,我有这样的词典列表蟒蛇循环项目:访问与条件

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 
}, 
... 
... 
] 

我怎么有超过50万的意见更大,收视率大于80项的链接? 这里的问题是我试过的任何问题,它基本上打印出所有链接,而不经过条件。

+1

所以你试过什么!? –

回答

0

你可以使用列表理解!

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

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

你有两个条件!

  • 意见> 500000个
  • 收视率> 80

由于数据字典的列表,通过与项目(字典)为each对列表进行迭代,并从该名单上list关键!

希望它有帮助!

+0

的项目仍不能按预期工作。它会获得所有链接而不符合条件。 –

+0

是你的意见和评分变量的字符串或整数? –

+0

我已经添加了将变量转换为整数的编辑! –

1

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

这个问题是,过于简单,适合于这个网站。

+0

我有问题只打印符合条件的项目。这又一次获得了列表中的所有链接。 –

+0

@天成旭不,它不。它会导致所有满足'item ['views']> 500000' – innisfree