Var*_*lor 11 python dictionary
是否可以使字典中的所有键的值超过阈值?
dicitonary可能看起来像:
mydict = {(0,1,2):"16",(2,3,4):"19"}
Run Code Online (Sandbox Code Playgroud)
例如,阈值可以是17
Wil*_*sem 24
当然有可能.我们可以简单地写:
[k for k,v in mydict.items() if float(v) >= 17]
Run Code Online (Sandbox Code Playgroud)
或者在你使用python-2.7的情况下,你 - 就像@NoticeMeSenpai所说 - 更好地使用:
[k for k,v in mydict.iteritems() if float(v) >= 17]
Run Code Online (Sandbox Code Playgroud)
这是列表理解.我们遍历mydict字典中的键值对.接下来,我们将值v转换为a float(v)并检查浮点数是否大于或等于17.如果是这种情况,我们将键添加k到列表中.
对于您的给定mydict,这会产生:
>>> [k for k,v in mydict.items() if float(v) >= 17]
[(2, 3, 4)]
Run Code Online (Sandbox Code Playgroud)
所以包含满足条件的单个键的列表:(2,3,4).