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

Python中合并字典并合并对应列表值的方法

合并字典中对应键的列表值

这里提供几种简单的实现方式,针对你给出的场景:

方法1:基础遍历实现

适用于两个字典键完全一致的情况:

day1 = {'Sci': [21.0],'Math': [16.0]}
day2 = {'Sci': [11.1],'Math': [16.1]}

merged_dict = {}
# 遍历其中一个字典的所有键
for key in day1:
    # 将两个字典对应键的列表相加后存入新字典
    merged_dict[key] = day1[key] + day2[key]

print(merged_dict)
# 输出: {'Sci': [21.0, 11.1], 'Math': [16.0, 16.1]}

方法2:字典推导式简化

用一行代码完成,逻辑和方法1一致,更简洁:

day1 = {'Sci': [21.0],'Math': [16.0]}
day2 = {'Sci': [11.1],'Math': [16.1]}

merged_dict = {key: day1[key] + day2[key] for key in day1}
print(merged_dict)

方法3:兼容键不统一的场景

如果两个字典可能存在不同的键(比如某个字典有额外键),可以用这种方式处理,确保所有键都被覆盖:

day1 = {'Sci': [21.0],'Math': [16.0]}
day2 = {'Sci': [11.1],'Math': [16.1], 'Eng': [10.0]}

merged_dict = {}
# 获取所有键的集合(去重)
all_keys = set(day1.keys()).union(day2.keys())

for key in all_keys:
    # 用get方法获取列表,键不存在时返回空列表避免报错
    merged_dict[key] = day1.get(key, []) + day2.get(key, [])

print(merged_dict)
# 输出: {'Sci': [21.0, 11.1], 'Math': [16.0, 16.1], 'Eng': [10.0]}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 12:55:59