2013-10-26 44 views
0

我有一個由詞典組成的列表。我需要做的是比較一個字典中鍵「a」(172.60)的值,如果它比同一字典中鍵「b」(168.80)的值大30%,則打印「值」 。並遍歷整個列表中的所有字典。我嘗試了許多不同的'for'和'if'結構,但解決方案逃脫了我。我正在使用python v2.6.6。將Python列表中的鍵值與多個詞典進行比較

List1= [{"p":0,"c":0,"b":168.80,"a":172.60,"oi":0,"vol":0,"value":355.00}, 
     {"p":0,"c":0,"b":163.80,"a":167.60,"oi":0,"vol":0,"value":360.00}] 
+0

所以你比較一個字典的關鍵「一」與其他...和打印的地方,首先關鍵是30比任何大的人%。然後你重複其他字典並做同樣的事,對嗎?但是你不用在字典之間比較,或者比如關鍵字「b」和關鍵字「p」是否正確? – Jblasco

+1

無關的問題,這是學校或類似的練習嗎? – Jblasco

+0

我只需要比較'a'和'b'的值來查看'a'是否比'b'大30%或更多,不需要比較其他鍵。沒錯,不需要比較不同字典之間的值。 – namor

回答

2

一種方式做到這一點:

for dd in List1: 
    if dd["a"] > 1.3 * dd["b"]: 
     print dd["value"] 
+0

嘿!這似乎工作!感謝您的幫助! – namor

相關問題