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

如何获取Python字典中对应最小值的最大key

解决方法

你可以通过以下几种方式实现需求,最终都能得到值为最小值的最大key:

方法1:两步遍历法(最易理解)

先找到字典的最小值,再筛选出所有值等于最小值的key,取其中最大的即可:

dic = {1: 35, 2: 34, 3: 24, 4: 32, 5: 31, 6: 24}
# 第一步:取字典的最小值
min_value = min(dic.values())
# 第二步:筛选所有值等于最小值的key,取最大的
target_key = max(key for key, value in dic.items() if value == min_value)
print(target_key) # 输出结果为6

方法2:单次遍历法(性能最优,适合大字典)

只遍历字典一次,同时记录当前的最小值和对应的最大key,避免两次遍历的性能损耗:

dic = {1: 35, 2: 34, 3: 24, 4: 32, 5: 31, 6: 24}
min_value = float('inf')
target_key = None
for key, value in dic.items():
    if value < min_value:
        min_value = value
        target_key = key
    elif value == min_value:
        if key > target_key:
            target_key = key
print(target_key) # 输出结果为6

方法3:单行写法(利用max函数的key参数)

通过自定义max的排序规则,一次性得到结果:

dic = {1: 35, 2: 34, 3: 24, 4: 32, 5: 31, 6: 24}
# 排序规则:优先按值升序(用负数值转成降序适配max逻辑),再按key降序
target_key = max(dic.items(), key=lambda item: (-item[1], item[0]))[0]
print(target_key) # 输出结果为6

内容的提问来源于stack exchange,提问作者Juan Esteban Rozo Mendez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:48:03