【发布时间】:2012-09-11 18:51:00
【问题描述】:
python 程序员如何检查字典的任何值是否与条件匹配(在我的情况下大于 0)。我正在寻找对性能影响最小的最“pythonic”的方式。
我的字典:
pairs = { 'word1':0, 'word2':0, 'word3':2000, 'word4':64, 'word5':0, 'wordn':8 }
到目前为止,我使用了这两种(可怕的?)方法。
1:
options = pairs.values() # extract values
for i in options:
if i > 0:
return True
return False
2:
options = sorted(pairs.items(), key=lambda e: e[1], reverse=True) # rank from max to min
if options[0][1] > 0:
return True
else:
return False
【问题讨论】:
-
您是只检查字典中的一个条目(如您的文本所说)还是所有条目(如您的代码所做的那样)?
-
@smcg:对不起我的英语。我的意思是所有条目;]
标签: python python-2.7