7

我相信这很容易:

说我有以下字典:

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

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

谢谢

4

3 回答 3

14

如果您只关心找到最大值,而不是与其相关的键,那么您只需访问 dict 的值(尽管链接的帖子在字典中获取具有最大值的键?绝对值得一读)

在 Python 2.x 上:

max(foo.itervalues())

在 Python 3.x 上:

max(foo.values())
于 2013-11-05T01:14:31.927 回答
4

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

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

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

希望这可以帮助。

于 2013-11-05T01:43:23.833 回答
3

假设您有以下 Counter 对象:

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

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

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

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

foo_max = foo.most_common()[0]
于 2013-11-05T01:28:39.937 回答