Python如何拆分嵌套列表中各子列表内的逗号分隔字符串?
问题分析与修复方案
报错原因
你代码中遍历lst得到的每一个x都是嵌套的子列表(例如首次遍历得到的x为['a,b,c,d,e'],属于列表类型),split是字符串专属方法,列表对象没有该方法,因此触发AttributeError。
修复代码
你需要先取出子列表中的字符串元素再执行拆分,同时保留嵌套结构,直接用如下列表推导式即可:
lst = [['a,b,c,d,e'], ['f,g,h']] lst1 = [item[0].split(',') for item in lst] print(lst1)
运行输出:
[['a', 'b', 'c', 'd', 'e'], ['f', 'g', 'h']]
兼容扩展
如果你的子列表后续可能包含多个待拆分的逗号分隔字符串,可以用嵌套推导式处理所有元素:
lst1 = [s.split(',') for sub in lst for s in sub]
内容的提问来源于stack exchange,提问作者john johns
相关产品推荐
相关产品推荐

