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

如何用Python将两个列表转换为值为最大值的字典?

实现方法

方法一:基础循环遍历

直接遍历两个列表的配对元素,跳过空值,同时维护字典里每个键的最大值:

L = ["a","b","b","c","c","c"]
L_02 = [1,3,2,4,6,""]

result = {}
for key, value in zip(L, L_02):
    # 跳过空字符串值
    if value == "":
        continue
    # 若键不存在,或当前值更大则更新
    if key not in result or value > result[key]:
        result[key] = value

print(result)  # 输出: {'a': 1, 'b': 3, 'c': 6}

方法二:分组后取最大值

借助collections.defaultdict先按键分组收集有效数值,再对每组取最大值:

from collections import defaultdict

L = ["a","b","b","c","c","c"]
L_02 = [1,3,2,4,6,""]

# 分组存储每个键对应的所有有效数值
groups = defaultdict(list)
for k, v in zip(L, L_02):
    if v != "":
        groups[k].append(v)

# 生成每个键对应最大值的字典
result = {key: max(values) for key, values in groups.items()}

print(result)  # 输出: {'a': 1, 'b': 3, 'c': 6}

注意事项

  • 确保L_02中非空元素都是可比较的数值类型(如整数、浮点数),若存在其他类型需提前处理,避免max()或比较操作报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:18:36