Python中如何将字符串列表转换为单个字符组成的列表
Python 字符串列表转单个字符列表实现方案
以下是几种不同的实现方式,优先推荐列表推导式写法:
- 方法1:列表推导式(最Pythonic,兼顾可读性和性能)
# 注意:不要使用list作为变量名,会覆盖Python内置的列表类型,这里替换为str_list演示 str_list = ['hi', 'my', 'name', 'is'] res = [char for item in str_list for char in item]
运行后res的结果即为预期的['h', 'i', 'm', 'y', 'n', 'a', 'm', 'e', 'i', 's']
- 方法2:使用itertools.chain.from_iterable(适合超大列表,内存效率更高)
from itertools import chain str_list = ['hi', 'my', 'name', 'is'] res = list(chain.from_iterable(str_list))
- 方法3:sum拼接(仅作了解,不推荐用于长列表,性能较差)
str_list = ['hi', 'my', 'name', 'is'] res = list(sum(str_list, ''))
说明:该方法本质是逐个拼接字符串生成新对象,列表长度较大时会产生大量不必要的内存开销,运行效率远低于前两种方法。
额外提示:原代码中使用list作为变量名是不规范的写法,会覆盖Python内置的列表构造函数,后续调用list()时会触发异常,建议更换为其他自定义变量名。
内容的提问来源于stack exchange,提问作者Ben Pt
相关产品推荐
相关产品推荐

