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

Python中如何简便地将列表多词元素拆分为单个词(单行实现)

嘿,这有几个更简洁的单行实现方案,完美适配你的需求:

1. 嵌套列表推导式(最直观,无需额外导入)

这应该是最常用也最易读的单行写法了,直接通过双层循环把每个元素拆分后展开:

my_list = ["one two","three two"]
out_list = [word for item in my_list for word in item.split()]

运行后out_list就是["one","two","three","two"],逻辑清晰,新手也能一眼看懂。

2. 使用itertools.chain.from_iterable(效率最优,适合大数据量)

如果你的列表很大,推荐用这个方法,它不会创建中间的子列表,而是逐个生成元素,内存占用更低:

import itertools
my_list = ["one two","three two"]
out_list = list(itertools.chain.from_iterable(item.split() for item in my_list))

chain.from_iterable会把拆分后的可迭代对象直接串联起来,性能比sum方法好很多。

3. 简化版sum单行写法(不推荐大数据量)

你原来的两行代码其实也能合并成一行,但要注意把生成器表达式传进去(避免创建中间列表):

my_list = ["one two","three two"]
out_list = sum((item.split() for item in my_list), [])

不过这种方法每次相加都会生成新列表,数据量大的时候性能会拉胯,所以只适合小列表场景。

总结一下:日常用嵌套列表推导式就够了,追求效率选itertools,sum的方法尽量少用~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:17:36