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

Python中如何将两个嵌套列表按对应位置合并为一个嵌套列表

解决方案

你可以使用Python内置的zip()函数结合列表推导式实现需求,该方法简洁高效,默认适用于两个嵌套列表长度一致的场景。


实现代码

基础方案(等长列表适用)

A = [[2], [3], [4], [5], [6]]
B = [[8], [9], [1], [10], [11]]

C = [a + b for a, b in zip(A, B)]

兼容不等长列表的扩展方案

如果两个嵌套列表长度不一致,需要保留所有元素,可以使用itertools.zip_longest:

from itertools import zip_longest

# 长度不足的位置用空列表填充
C = [a + b for a, b in zip_longest(A, B, fillvalue=[])]

结果验证

运行后输出C即可得到预期结果:
[[2, 8], [3, 9], [4, 1], [5, 10], [6, 11]]


原理解释

  • zip(A, B)会将两个列表对应位置的元素配对,每次迭代会取出A、B中对应位置的子列表,例如第一次迭代取出[2]和[8]
  • 列表相加操作a + b会将两个子列表的元素合并为一个新列表,即[2] + [8] = [2,8]
  • 基础方案中zip()会以更短的列表长度为准停止配对,需要保留全部元素时改用zip_longest即可,可通过fillvalue参数自定义长度不足时的填充值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:27:04