【问题标题】:Simplest way of grabbing key associated with 'max' value in a Dictionary在字典中获取与“最大值”相关的键的最简单方法
【发布时间】:2017-01-29 00:01:57
【问题描述】:

我已经搜索了基于值获取关联键的方法,但大多数方法看起来都非常复杂。可能是因为我是 Python 新手,但是有没有一种简单的方法来获取与(最大值)值关联的键?例如:

d = {'one':1, 'two':2, 'three':3, 'four':4, 'five':5}
max(d.values())

会给5。

如何获取与“5”值关联的键?

【问题讨论】:

标签: python dictionary key


【解决方案1】:

您可以遍历字典并保存最高值的键。

import math

max_value = -math.inf  # Infinitly small number.
max_value_key = None
for key, value in d.items():
    if max_value < value:
        max_value = value
        max_value_key = key

【讨论】:

  • 我试过了,但无法让它工作。我从另一个用户那里找到了一个解决方案,但我真的不明白它是如何工作的:maximum = max(d, key=d.get) print(maximum, d[maximum]) 所以在我的例子中,这将返回5 值,因为它是最大值,并将返回与 5 关联的键,即“五”。如果我要分解解决方案,只做最大值 = max(d),它将返回“二”。我想我不理解 get 方法?我不知道,我很困惑试图分解它来理解它......
  • 只需打印max_value_key,您就会看到此方法有效。 maximum = max(d, key=d.get) 不过更好。关键选项是将d 中的每个元素传入的函数。 d 中的元素是键,d.get 将返回每个键的值。所以max(d, key=d.get) 会查看你的字典中哪个键值最大,并给你相应的键。当您执行max(d) 时,您正在查找字典中最大的键,并且由于它们都是字符串,它会为您提供按字母顺序排列的最大字符串。
猜你喜欢
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
  • 1970-01-01
  • 1970-01-01
  • 2011-02-17
相关资源
最近更新 更多