2013-10-26 48 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

相关问题