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

如何移除三层嵌套列表的外层列表?

解决三层嵌套列表移除外层的问题

嘿,我来帮你搞定这个需求!你要的其实是移除三层嵌套列表的最外层,把原本的[[[子列表1], [子列表2]], [[子列表3], [子列表4]]]结构,转换成[[子列表1], [子列表2], [子列表3], [子列表4]]——本质就是把最外层包含的所有中层列表直接合并成一个新列表。

下面给你几种Python里常用的实现方法:

方法1:列表推导式(简洁直观)

这是最常用的方式,逻辑清晰,代码也短:

# 你的原始三层嵌套列表
original_list = [[['SKU', 'DHF', 'KSD'], ['KUD', 'HFK', 'SDJ'], ['UDH', 'FKS', 'DJH']], [['KUG', 'UJY', 'FUY'], ['UGU', 'JYF', 'UYF'], ['GUJ', 'YFU', 'YFG']]]

# 移除外层,合并中层列表
result = [sub_list for outer in original_list for sub_list in outer]

# 查看结果
print(result)

运行后会得到你想要的结构:

[['SKU', 'DHF', 'KSD'], ['KUD', 'HFK', 'SDJ'], ['UDH', 'FKS', 'DJH'], ['KUG', 'UJY', 'FUY'], ['UGU', 'JYF', 'UYF'], ['GUJ', 'YFU', 'YFG']]

方法2:用itertools.chain.from_iterable(高效适合大数据)

如果你的列表数据量很大,用这个方法效率会更高:

import itertools

original_list = [[['SKU', 'DHF', 'KSD'], ['KUD', 'HFK', 'SDJ'], ['UDH', 'FKS', 'DJH']], [['KUG', 'UJY', 'FUY'], ['UGU', 'JYF', 'UYF'], ['GUJ', 'YFU', 'YFG']]]

result = list(itertools.chain.from_iterable(original_list))

chain.from_iterable会直接把外层列表里的所有子迭代器(也就是中层列表)拼接起来,避免了不必要的列表创建,性能更好。

方法3:用sum函数(仅适合小列表)

如果你只是处理小数据量的列表,也可以用这个偷懒的写法,但不推荐大数据量使用(因为每次相加都会生成新列表,效率低):

original_list = [[['SKU', 'DHF', 'KSD'], ['KUD', 'HFK', 'SDJ'], ['UDH', 'FKS', 'DJH']], [['KUG', 'UJY', 'FUY'], ['UGU', 'JYF', 'UYF'], ['GUJ', 'YFU', 'YFG']]]

result = sum(original_list, [])

原理是把外层的每个子列表和初始空列表[]依次相加,最终合并成一个列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:44:22