Python中将含逗号分隔字符串的列表拆分为独立元素的实现方法
解决方案
你可以直接将两步列表推导合并为一行,不需要额外定义中间变量,逻辑和你原有实现完全一致:
flat_list = [subitem for item in my_list for subitem in item.split(',')]
如果需要处理的列表数据量较大,想要更高的内存效率,可以使用itertools.chain实现,它基于迭代器运行,无需生成中间嵌套列表:
from itertools import chain flat_list = list(chain.from_iterable(item.split(',') for item in my_list))
两种方案的时间复杂度均为O(n),和你原有实现的效率持平,仅写法更简洁,消除了多余的中间变量。
内容的提问来源于stack exchange,提问作者Vishnukk
相关产品推荐
相关产品推荐

