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

Python中如何正确合并两个字典列表?

嘿,我懂你遇到的问题了——本来想把两个字典列表平级合并,结果用append加copy搞出嵌套列表了对吧?别慌,这有几个简单好用的方法能达到你想要的效果:

方法1:用extend()直接修改原列表

这是最直接的方式,extend()会把另一个列表里的元素逐个追加到原列表末尾,而不是把整个列表当单个元素加进去:

l1 = [{'a':1},{'b':2},{'c':3}]
l2 = [{'d':4},{'e':5},{'f':6}]

l1.extend(l2)
print(l1)
# 输出: [{'a': 1}, {'b': 2}, {'c': 3}, {'d': 4}, {'e': 5}, {'f': 6}]

方法2:用列表拼接生成新列表

如果你不想改动原来的l1和l2,而是想要一个全新的合并列表,直接用+运算符就行:

l1 = [{'a':1},{'b':2},{'c':3}]
l2 = [{'d':4},{'e':5},{'f':6}]

merged_list = l1 + l2
print(merged_list)
# 输出和上面一样的平级列表

方法3:简洁的解包语法(Python 3.5+)

用*解包两个列表的元素,再放到一个新列表里,语法很清爽:

merged_list = [*l1, *l2]

这个方法同样会生成新列表,不修改原数据。

为啥你原来的方法不行?

你用l1.append(l2.copy())时,append()的作用是把整个传入的对象(这里是l2.copy()得到的列表)作为单个元素添加到l1里,所以才会出现嵌套的情况。而extend()是遍历传入的列表,把每个元素单独加进去,这就是两者的核心区别~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 23:07:42