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

如何在Python中合并多个由字典组成的对象数组?

Python实现两个数组对应位置对象合并的方案

以下是几种不同场景下的实现方式,默认两个数组长度相同、对应位置需要合并:

方案1:Python 3.9及以上版本(最简洁)

用Python 3.9新增的字典合并运算符|,配合列表推导式+zip遍历对应位置元素:

# 定义两个原始数组
arr_name = [{'name': 'James'}, {'name': 'Abhinay'}, {'name': 'Peter'}]
arr_age = [{'age': 1}, {'age': 2}, {'age': 3}]

# 合并操作
result = [item1 | item2 for item1, item2 in zip(arr_name, arr_age)]
print(result)
# 输出:[{'name': 'James', 'age': 1}, {'name': 'Abhinay', 'age': 2}, {'name': 'Peter', 'age': 3}]

方案2:兼容所有Python3版本

用字典解包语法实现合并,兼容性更好:

result = [{**item1, **item2} for item1, item2 in zip(arr_name, arr_age)]

方案3:传统循环写法(可读性更高,方便加自定义逻辑)

如果需要在合并过程中加额外校验,可以用循环+update方法实现:

result = []
for item1, item2 in zip(arr_name, arr_age):
    # 先拷贝第一个对象,避免修改原始数组
    merged_item = item1.copy()
    merged_item.update(item2)
    result.append(merged_item)

注意事项

如果两个数组长度不一致,zip默认会以更短的数组长度为准进行合并;如果需要按更长的数组长度合并、缺失位置补空值,可以用itertools.zip_longest代替zip。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:45:03