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

Python如何对字典列表中相同key对应的列表值按位置累加合并?

实现思路

  • 初始化空字典存储最终结果
  • 遍历原列表中的每个子字典,逐个处理子字典的键值对
  • 遇到结果字典中不存在的键,直接将对应列表存入结果字典
  • 遇到结果字典中已存在的键,将两个列表按索引位置逐元素求和后更新结果

代码实现

你给出的输入数据如下:

_list = [
    {"a": [1, 20, 20, 40], "b": [0, 14, 14, 28]},
    {"a": [2, 20, 20, 40], "b": [2, 14, 14, 28]},
    {"c": [1, 20, 20, 40], "d": [0, 14, 14, 28]},
]

处理代码:

result = {}
for item in _list:
    for key, lst in item.items():
        if key not in result:
            # 拷贝原列表避免后续修改影响原始数据
            result[key] = lst.copy()
        else:
            # 逐元素累加
            result[key] = [a + b for a, b in zip(result[key], lst)]

运行后打印result即可得到你需要的输出:

{
    "a": [3, 40, 40, 80], 
    "b": [2, 28, 28, 56], 
    "c": [1, 20, 20, 40], 
    "d": [0, 14, 14, 28]
}

注意事项

以上代码默认所有相同key对应的列表长度一致,如果你实际使用场景中存在同key不同长度的列表,可以自行补充长度校验、缺省值填充的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 01:36:03