以pythonic方式打印字典中最大值的键[重复]

Posted

技术标签:

【中文标题】以pythonic方式打印字典中最大值的键[重复]【英文标题】:Print the key of the max value in a dictionary the pythonic way [duplicate] 【发布时间】:2012-09-06 06:58:04 【问题描述】:

给定一个字典d,其中键值对由作为键的字符串和作为值的整数组成,我想打印值为最大值的键字符串。

当然,我可以循环d.items(),存储最大值及其密钥,然后在for 循环之后输出后者。但是有没有更“pythonic”的方式只使用max 函数构造,比如

print max(...)

【问题讨论】:

根据您对 dict 的使用情况,您可能希望切换键和值,让整数具有键,而 dstring 具有值...(当然,如果您从不使用字符串键,则可以这样做...) 交换键和值不是一个好主意,因为值可能根本不是唯一的...... 【参考方案1】:
print max(d.keys(), key=lambda x: d[x]) 

甚至更短(来自评论):

print max(d, key=d.get)

【讨论】:

max(d, key=d.get)怎么样 两者似乎都有效! :-) 谢谢你:我怀疑 python 可能会提供一种简洁的方法来处理这个问题! - 关于这两种解决方案,第二个版本在我看来更容易记住。它对第一个有任何警告吗? @halloleo 我不这么认为。 keys() 只是多余的,get 是一种方法,其行为仅与 dict 中不存在的项目的 lambda 不同,在这种情况下不会发生。

以上是关于以pythonic方式打印字典中最大值的键[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在字典中查找重复列表并打印重复列表的键

python中怎么重复打印

用键打印dict中的最大值[重复]

在某些值中获取字典中最大值的键[重复]

如何在Python中找到字典中的最大值键[重复]

如何在python中打印字典的键值对