在字典中查找最大值[重复]

Posted

技术标签:

【中文标题】在字典中查找最大值[重复]【英文标题】:Finding largest value in a dictionary [duplicate] 【发布时间】:2012-09-14 11:36:15 【问题描述】:

可能重复:Getting key with maximum value in dictionary?

假设我有一个由整数键和整数值组成的字典。我想找到具有最高对应值的整数键。是否有任何内置方法可以执行此类操作,或者我是否需要实现某种合并/排序算法?

【问题讨论】:

已经在 *** 上回答 here 试图找到一个现有的答案?看到这个:***.com/questions/268272/… - 解决方案就是这个:max(stats.iteritems(), key=operator.itemgetter(1)) max(stats, key=stats.itemgetter(1)) 是***.com/questions/268272/…投票最多的人 【参考方案1】:

你可以使用max

>>> x = 1:2, 3:6, 5:4
>>> max(x, key=lambda i: x[i])
3

或者只是:

>>> max(x, key=x.get)
3

【讨论】:

【参考方案2】:

有一些方法可以做到这一点,首选的方法是使用这个:

import operator

result = max(your_dict.iteritems(), key=operator.itemgetter(1))[0]

请注意,根据您的需要,operator.itemgetter(1) 可以替换为 lambda x: x[1]

【讨论】:

使用your_dict.iteritems() 比仅使用your_dict 有什么优势吗? @verdesmarald:它们给出不同的结果(your_dict.iteritems() 返回的不是your_dict),所以它们没有可比性。 抱歉,我的意思是针对这个特定问题,max(your_dict.iteritems())[0] 给出的结果与 max(your_dict) 相同。 @verdesmarald:你错了——max(your_dict) 会给你最大的键,而不是对应于最大值的键。要查看差异,请查看以下结果:max(1:100,2:20)(它会给您2 而不是1)。

以上是关于在字典中查找最大值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从从excel文件派生的大量字典中的值列表中查找最小值和最大值

在 VBA 中的字典值中查找最大值/最小值

在某些值中获取字典中最大值的键[重复]

如何在Python中找到字典中的最大值键[重复]

以pythonic方式打印字典中最大值的键[重复]

从字典中获取最大值[重复]