Python列表拆分报AttributeError: 'list' object has no attribute 'split'如何解决
问题解决说明
你遇到的AttributeError: 'list' object has no attribute 'split'报错根因为:split()是Python字符串类型的专属方法,不能直接对列表对象调用。
同时你原有思路存在偏差:列表元素外层的单引号是Python标识字符串类型的语法符号,不属于元素本身的内容,你实际需要完成的操作是将每个字符串元素按逗号拆分后,把所有拆分结果合并为一个一维列表。原有代码还有两处逻辑错误:
- 分隔符设置错误:原字符串元素内部用逗号分隔目标内容,不是你写的空格加单引号
- 遍历层级错误:需要先遍历原列表拿到每个字符串元素,再对单个元素做拆分操作
最简实现方案(嵌套列表推导式)
lst = ['a,b,c', 'd,e'] result = [sub_item for raw_str in lst for sub_item in raw_str.split(',')]
运行后result的值即为你需要的['a','b','c','d','e']。
标准库实现方案(基于itertools.chain)
from itertools import chain lst = ['a,b,c', 'd,e'] result = list(chain.from_iterable(raw_str.split(',') for raw_str in lst))
内容的提问来源于stack exchange,提问作者john johns
相关产品推荐
相关产品推荐

