You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何正确获取字典中值最大对应的键

问题原因

直接对字典调用max()时,默认遍历字典的键做比较。字符串键按字典序(Unicode编码顺序)排序,'z'的排序优先级高于'x'和'y',因此返回结果为'z',整个过程没有对字典存储的值做任何比较。

解决方案

给max()传入key参数,指定比较逻辑为字典对应的值,就能拿到值最大的键:

modes = {'x': 73, 'y': 2179, 'z': 173}
print(max(modes, key=lambda k: modes[k]))

运行输出:

y

如果需要同时获取最大值和对应的键,可以遍历字典的items()键值对,指定按值的维度比较:

modes = {'x': 73, 'y': 2179, 'z': 173}
max_key, max_val = max(modes.items(), key=lambda x: x[1])
print(max_key)  # 输出 y
print(max_val)  # 输出 2179

注意:如果字典存在多个键对应同一个最大值,max()会返回迭代过程中第一个遇到的对应键。

内容的提问来源于stack exchange,提问作者Opgesy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 09:21:34