【问题标题】:python dictionary: How to get all keys with specific valuespython字典:如何获取具有特定值的所有键
【发布时间】:2017-06-20 22:55:36
【问题描述】:

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

字典可能看起来像:

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

例如,阈值可以是 17

【问题讨论】:

  • 那是字典吗?以字符串作为值?

标签: python dictionary


【解决方案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)]

所以包含满足此处条件的 single 键的列表:(2,3,4)。

【讨论】:

  • 另外值得注意的是,dict.iteritems() 用于资源和性能目的
  • @NoticeMeSenpai:是的,谢谢。我将其添加到答案中。
猜你喜欢
  • 1970-01-01
  • 2016-05-07
  • 1970-01-01
  • 2012-12-31
  • 1970-01-01
  • 2020-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多