如何在字典中获取值最大的键?

22 浏览
0 Comments

如何在字典中获取值最大的键?

我有一个字典,其中键为字符串,值为整数。

stats = {'a': 1, 'b': 3000, 'c': 0}

我该如何获取具有最大值的键?在这种情况下,它是\'b\'


除了使用反转键值元组的中间列表外,是否有更好的方法?

inverse = [(value, key) for key, value in stats.items()]
print(max(inverse)[1])

admin 更改状态以发布 2023年5月21日
0
0 Comments

你可以使用operator.itemgetter来实现:

import operator
stats = {'a': 1000, 'b': 3000, 'c': 100}
max(stats.iteritems(), key=operator.itemgetter(1))[0]

不需要在内存中构建一个新的列表,而是使用stats.iteritems()max()函数的key参数是一个计算键的函数,用于确定如何对项目进行排名。

请注意,如果您还有另一个键值对 'd': 3000,即使这两个都具有最大值,此方法仍将仅返回一个

>>> import operator
>>> stats = {'a': 1000, 'b': 3000, 'c': 100, 'd': 3000}
>>> max(stats.iteritems(), key=operator.itemgetter(1))[0]
'b' 

如果使用Python3:

>>> max(stats.items(), key=operator.itemgetter(1))[0]
'b'

0
0 Comments
max(stats, key=stats.get)

:这是一个带有加粗样式的标题,其内容为数字123。

0