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

如何在Python字典中根据值获取对应键,找到最大值对应的键

问题解答

方法1:基于现有代码逻辑修改

你当前的代码仅存储了字典的值,没有和对应键绑定,所以无法直接匹配。可以按两种思路调整:

思路1:存储值和键的绑定关系

def get_oldest(things):
    # 存储(值, 键)元组,排序时会默认优先按值比较
    value_key_list = []
    for key in things:
        value_key_list.append((things[key], key))
    value_key_list.sort()
    # 取排序后最后一组的第二个元素,就是最大值对应的键
    return value_key_list[-1][1]

# 测试代码
a_dict = {"car":5,"laptop":17,"telephone":3,"photo":14}
print(get_oldest(a_dict)) # 输出laptop

思路2:拿到最大值后遍历字典匹配

如果你不想改动现有存储值的逻辑,可以在拿到最大值后遍历字典查找对应键:

def get_oldest(things):
    new_list = []
    for elements in things:
        new_list.append(things[element])
    new_list.sort()
    max_value = new_list[-1]
    # 遍历字典匹配值和最大值相等的键
    for key, value in things.items():
        if value == max_value:
            return key

方法2:更简洁的内置函数实现

Python的max()函数支持自定义比较规则,无需手动排序,一行代码即可实现需求:

a_dict = {"car":5,"laptop":17,"telephone":3,"photo":14}
max_key = max(a_dict, key=a_dict.get)
print(max_key) # 输出laptop

参数说明:

  • 第一个参数传入字典本身,默认遍历字典的键进行比较
  • key=a_dict.get指定比较规则为:用每个键对应的字典值做大小比较,最终返回值最大的对应键

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:15:03