【发布时间】:2017-06-20 22:55:36
【问题描述】:
是否可以获取字典中所有键值高于阈值的键?
字典可能看起来像:
mydict = {(0,1,2):"16",(2,3,4):"19"}
例如,阈值可以是 17
【问题讨论】:
-
那是字典吗?以字符串作为值?
标签: python dictionary
是否可以获取字典中所有键值高于阈值的键?
字典可能看起来像:
mydict = {(0,1,2):"16",(2,3,4):"19"}
例如,阈值可以是 17
【问题讨论】:
标签: python dictionary
当然可以。我们可以简单地写:
[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 添加到列表中。
对于给定的mydict,这会生成:
>>> [k for k,v in mydict.items() if float(v) >= 17]
[(2, 3, 4)]
所以包含满足此处条件的 single 键的列表:(2,3,4)。
【讨论】: