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

Python:如何将含单元素子列表的嵌套列表展开为一维列表

解决单层嵌套列表转一维列表的几种实用方法

嘿,这个需求太常见啦!针对你这种每个元素都只被一层子列表包裹的情况,我给你分享几个简单高效的实现方式:

方法1:列表推导式(最直观推荐)

这是Python里处理这类问题最常用也最易读的写法,直接遍历每个子列表并提取内部元素:

original_list = [['word'], ['word'], ['word'], ['word']]
flattened_list = [item for sublist in original_list for item in sublist]
print(flattened_list)  # 输出: ['word', 'word', 'word', 'word']

它等价于更啰嗦的嵌套for循环,但简洁度拉满:

flattened_list = []
for sublist in original_list:
    for item in sublist:
        flattened_list.append(item)

方法2:sum()函数的小技巧

如果确定只有单层嵌套,用sum()可以一行搞定:

original_list = [['word'], ['word'], ['word'], ['word']]
flattened_list = sum(original_list, [])
print(flattened_list)

原理是sum()会把所有子列表和初始的空列表[]依次拼接,不过这个方法只适合单层嵌套,数据量很大时效率不如列表推导式。

方法3:itertools.chain(适合大数据量场景)

如果你的列表元素非常多,itertools.chain会更高效——它是生成器式的实现,不会提前占用大量内存:

import itertools

original_list = [['word'], ['word'], ['word'], ['word']]
flattened_list = list(itertools.chain.from_iterable(original_list))
print(flattened_list)

chain.from_iterable()会逐个取出子列表里的元素,最后转成列表就能得到目标结果。

根据你的实际场景选就行啦,简单场景用前两种,大数据量优先选第三种~

内容的提问来源于stack exchange,提问作者Cristina Dominguez Fernandez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 11:52:50