python字典:如何获取具有特定值的所有键

时间:2017-06-20 22:55:37

标签: python dictionary

是否可以获取值超过阈值的字典中的所有键?

dicitonary可能看起来像:

mydict = {(0,1,2):"16",(2,3,4):"19"}

阈值可以是17例如

1 个答案:

答案 0 :(得分:20)

当然有可能。我们可以简单地写一下:

[k for k,v in mydict.items() if float(v) >= 17]

如果您使用,就像@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)