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

求助:如何获取Python字典列表中所有键的最大值?

解决字典列表中每个键取最大值的问题

针对你给出的字典列表:

ls = [{'a':2, 'b':4, 'c':7}, {'a':5, 'b': 2, 'c':6}, {'a':1, 'b': 3, 'c':8}]

你之前用max(ls, key=lambda x:x['a'])只能拿到a值最大的整个字典,没法单独对每个键取最大值,这里提供几种实用的解法:

方法1:字典推导式(适用于所有字典键一致的情况)

直接遍历每个键,收集该键在所有字典中的值并取最大值:

result = {key: max(d[key] for d in ls) for key in ls[0].keys()}

执行后会得到目标结果{'a':5, 'b':4, 'c':8}。

方法2:逐个键计算最大值(直观易懂)

这种方式逻辑清晰,适合新手理解:

result = {}
# 遍历所有需要处理的键(假设所有字典键相同)
for key in ls[0]:
    # 收集当前键在所有字典中的值,取最大值存入结果
    max_val = max(d[key] for d in ls)
    result[key] = max_val

方法3:遍历字典动态更新最大值(内存友好)

如果字典列表数据量较大,这种方式无需一次性收集所有值,能节省内存,还兼容部分字典键不一致的场景:

result = {}
for d in ls:
    for key, val in d.items():
        # 若键未在结果中,或当前值更大则更新
        if key not in result or val > result[key]:
            result[key] = val

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:00:28