33

我正在尝试获取其值是所有 dict 值中最大值的 dict 键。

我找到了两种方法,都不够优雅。

d= {'a':2,'b':5,'c':3}
# 1st way
print [k for k in d.keys() if d[k] == max(d.values())][0]
# 2nd way
print Counter(d).most_common(1)[0][0]

有更好的方法吗?

4

1 回答 1

96

使用key参数max()

max(d, key=d.get)

演示:

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

key参数接受一个函数,对于迭代中的每个条目,它将找到该key函数为其返回最大值的条目。

于 2012-12-30T14:45:48.440 回答