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

如何将多组嵌套列表分别合并为单个列表?

合并嵌套列表为单个列表的解决方案

针对你需要将每组双元素嵌套列表合并为单个列表的需求,这里提供几种直接的Python实现方式:

1. 单个嵌套列表的合并

直接利用列表加法拼接两个子列表,这是最直观高效的方式:

# 处理第一个例子
nested_list = [[], [2, 3, 4, 5]]
merged = nested_list[0] + nested_list[1]
print(merged)  # 输出: [2, 3, 4, 5]

# 处理第二个例子
nested_list = [[1], [3, 4, 5]]
merged = nested_list[0] + nested_list[1]
print(merged)  # 输出: [1, 3, 4, 5]

2. 批量处理多组嵌套列表

如果有一组这样的嵌套列表,用列表推导式批量生成结果:

# 所有待处理的嵌套列表
all_nested = [
    [[], [2, 3, 4, 5]],
    [[1], [3, 4, 5]],
    [[1, 2], [4, 5]],
    [[1, 2, 3], [5]],
    [[1, 2, 3, 4], []]
]

# 批量合并
all_merged = [lst[0] + lst[1] for lst in all_nested]
print(all_merged)
# 输出: [[2, 3, 4, 5], [1, 3, 4, 5], [1, 2, 4, 5], [1, 2, 3, 5], [1, 2, 3, 4]]

3. 兼容多子列表的通用合并方式

如果你的嵌套列表里子列表数量不固定(不止2个),可以用sum()函数快速合并:

nested_list = [[1,2], [3], [4,5]]
merged = sum(nested_list, [])
print(merged)  # 输出: [1, 2, 3, 4, 5]

注意:这种方法在子列表数量多、元素量大时效率较低,此时更推荐用itertools.chain:

import itertools

nested_list = [[1,2], [3], [4,5]]
merged = list(itertools.chain(*nested_list))
print(merged)  # 输出: [1, 2, 3, 4, 5]

补充说明

你之前尝试用列表乘整数的思路不对,列表与整数相乘是重复整个列表的元素(比如[1,2]*2得到[1,2,1,2]),而非拼接子列表,列表加法才是实现子列表拼接的正确操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:16:09