关于python:从字典中获取max值

Getting the Max Value from a Dictionary

本问题已经有最佳答案,请猛点这里访问。

我相信这很容易:

假设我有以下字典:

1
 foo = { a: 3, b: 10, c: 5 }

获得10值的最有效(最干净)方法是什么

谢谢


如果您只关心查找最大值,而不关心与之相关的键,那么您只需要访问dict的值(尽管链接的post在字典中获取最大值的键?绝对值得一读)

关于Python 2。x:

1
max(foo.itervalues())

关于Python 3。x:

1
max(foo.values())

假设您有以下计数器对象:

1
2
from collections import Counter
foo = Counter({"a": 3,"b": 10,"c": 5 })

然后,您可以使用.most_common()方法获取按"从大到小"排序的元组列表:

1
2
>>> foo.most_common()
[('b', 10), ('c', 5), ('a', 3)]

要获得最大值,只需抓住第一个元素:

1
foo_max = foo.most_common()[0]


以获取字典的最大值。您可以这样做:

1
2
3
>>> d = {'a':5,'b':10,'c':5}
>>> d.get(max(d, key=d.get))
10

说明:max(d,key=d.get)=>获取具有最大值的键,其中d是字典d.get=>获取与该键关联的值

希望这有帮助。