通过最大值获取字典键

发布于 2021-01-29 15:08:50

这个问题已经在这里有了答案

获取字典中具有最大值的键? (25个答案)

4年前关闭。

我正在尝试获取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
被浏览
100
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    使用key参数可以max()

    max(d, key=d.get)
    

    演示:

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

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看