是否可以将字典中的所有键的值都超过阈值?
一分数字可能看起来像:
mydict = {(0,1,2):"16",(2,3,4):"19"}
例如,阈值可能是17
当然可以。我们可以简单地写:
[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转换为a,float(v)并检查该float是否大于或等于17。如果是这种情况,则将键添加k到列表中。
mydict
v
float(v)
k
对于给定的mydict,这将生成:
>>> [k for k,v in mydict.items() if float(v) >= 17] [(2, 3, 4)]
因此,包含一个列表 单 ,在这里满足条件的关键:(2,3,4)。
(2,3,4)