python词典:如何获得具有特定值的所有键

问题描述:

是否有可能获得值高于阈值的字典中的所有键?python词典:如何获得具有特定值的所有键

一个dicitonary可能看起来像:

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

的阈值可以是17例如

+1

那是字典吗?用字符串作为值? –

当然是可能的。我们可以简单的写:

[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添加到列表中。

了给定mydict,这会产生:

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

所以包含在这里满足条件的键列表:(2,3,4)

+1

另外值得注意的是,

+1

@NoticeMeSenpai:是的,谢谢。我将它添加到答案中。 –

+0

不客气! –