是否可以获取值超过阈值的字典中的所有键?
dicitonary可能看起来像:
mydict = {(0,1,2):"16",(2,3,4):"19"}
阈值可以是17例如
答案 0 :(得分:20)
当然有可能。我们可以简单地写一下:
[k for k,v in mydict.items() if float(v) >= 17]
如果您使用python-2.7,就像@NoticeMeSenpai所说的那样 - 更好地使用:
[k for k,v in mydict.iteritems() if float(v) >= 17]
这是列表理解。我们遍历mydict
字典中的键值对。接下来,我们将值v
转换为float(v)
并检查浮点数是否大于或等于17.如果是这种情况,我们将键k
添加到列表中。 / p>
对于您的给定mydict
,这会生成:
>>> [k for k,v in mydict.items() if float(v) >= 17]
[(2, 3, 4)]
所以包含满足条件的单键的列表:(2,3,4)
。