从字典中获取最大值

时间:2013-11-05 01:06:08

标签: python python-2.7

我确信这很容易:

说我有以下词典:

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

获得价值10

的最有效(也是最干净)的方法是什么

由于

3 个答案:

答案 0 :(得分:8)

如果你只关心找到最大值,而不是与之相关的密钥,那么你只需要访问dict的值(虽然链接的帖子Getting key with maximum value in dictionary?绝对值得一读)

在Python 2.x上:

max(foo.itervalues())

在Python 3.x上:

max(foo.values())

答案 1 :(得分:1)

假设您有以下Counter对象:

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

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

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

要获取 max ,只需抓住第一个元素:

foo_max = foo.most_common()[0]

答案 2 :(得分:0)

为了获得字典的最大值。你可以这样做:

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

<强>解释
max(d,key = d.get)=&gt;获取具有最大值的键,其中d是字典
d.get =&gt;获取与该键相关联的值

希望这有帮助。