循环处理文本后调用join报AttributeError: 'list'无'join'属性,求问题原因
报错原因与修复方案
核心错误点
join()是字符串类型的专属方法,不是列表的内置方法,你用列表对象textNoZap直接调用join()就会触发该属性报错。正确的调用逻辑是:拼接用的分隔符字符串在前调用join(),待拼接的列表作为参数传入方法。
修复后的代码
你只需要修改join那一行即可,修改后完整代码如下:
text=str(input("tap you text here: ")) textNoZap=[0] for leter in text: if leter != ",": textNoZap.append(leter) else: textNoZap.append(" ") del textNoZap[0] print(textNoZap) # 仅修改这一行,用空字符串调用join,传入列表参数 textNoZap = ''.join(textNoZap) textNoZap=textNoZap.split() print(textNoZap)
可选优化
你要实现的逗号替换为空格、再按空白分割的需求,不需要手动写循环遍历字符,直接调用字符串自带的replace()方法就能大幅简化代码:
text = input("tap you text here: ") textNoZap = text.replace(',', ' ').split() print(textNoZap)
内容的提问来源于stack exchange,提问作者Artinger
相关产品推荐
相关产品推荐

