我正在尝试获取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]
有更好的方法吗?
答案 0 :(得分:70)
将key
参数用于max()
:
max(d, key=d.get)
演示:
>>> d= {'a':2,'b':5,'c':3}
>>> max(d, key=d.get)
'b'
key
参数接受一个函数,对于iterable中的每个条目,它将找到key
函数返回最高值的那个。