2017-05-05 86 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