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

Python中如何将字典列表元素与另一字典列表对应元素合并?

Python实现对应位置字典列表合并的几种方法

这里有几种实用的方法可以实现两个字典列表对应位置的合并:

方法1:列表推导式 + 字典解包(Python 3.5+)

利用字典解包语法**将两个字典的键值对合并到新字典中,代码简洁直观:

newDict = [{'id': 1}, {'id': 2}]
myData = [{'title': 'Bar', 'barname': 'Archer'}, {'title': 'Bar', 'barname': 'Archer'}]

merged = [{**d1, **d2} for d1, d2 in zip(newDict, myData)]
print(merged)
# 输出:[{'id': 1, 'title': 'Bar', 'barname': 'Archer'}, {'id': 2, 'title': 'Bar', 'barname': 'Archer'}]

zip(newDict, myData)会把两个列表中对应位置的字典配对,**d1和**d2将字典的键值对解包后合并,若存在重复键,后面字典的键值会覆盖前面的。

方法2:Python 3.9+ 专用字典合并运算符|

Python 3.9及以上版本支持用|直接合并两个字典,写法更简洁:

merged = [d1 | d2 for d1, d2 in zip(newDict, myData)]
print(merged)

d1 | d2会生成一个包含两个字典所有键值对的新字典,重复键同样以后面的字典为准。

方法3:循环遍历 + update方法(适合新手理解)

通过循环逐个处理每一对字典,使用update方法合并:

merged = []
for d1, d2 in zip(newDict, myData):
    combined_dict = {}
    combined_dict.update(d1)  # 先加入第一个字典的内容
    combined_dict.update(d2)  # 再加入第二个字典的内容,重复键会被覆盖
    merged.append(combined_dict)
print(merged)

注意事项

如果两个列表长度不一致,zip会以较短的列表长度为准。若需要保留较长列表中剩余的元素,可以使用itertools.zip_longest,并处理空字典的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:05:20