Python使用extend()扩展列表时字符串被拆分为单个字符如何修复
根因说明
Python中list.extend(iterable)方法的作用是遍历传入的可迭代对象,将其中的每一个元素依次追加到原列表末尾。而字符串本身属于可迭代对象,遍历字符串时会逐个取出单个字符,因此你直接传入字符串调用extend就会出现被拆分的问题。
解决方案
根据你的实际需求选择对应改法:
场景1:仅需要将用户输入的字符串作为单个完整元素加入列表
两种实现方式二选一即可:
- 直接改用
list.append()方法,本身就是用来添加单个元素的:def extendo(kac): kac = str(kac) null.append(kac) - 如果一定要保留
extend调用,将输入的字符串包装为单元素列表再传入:def extendo(kac): kac = str(kac) null.extend([kac])
场景2:需要支持用户输入多个元素一次性扩展列表
可以要求用户输入时用特定符号(比如逗号)分隔多个元素,先拆分再扩展:
def extendo(kac): kac = str(kac) # 按逗号拆分输入,同时去掉每个元素前后的空格 item_list = [item.strip() for item in kac.split(',')] null.extend(item_list)
用户输入示例:pineapple,peach,kiwi,就会一次性把三个水果作为独立元素加入原列表。
内容的提问来源于stack exchange,提问作者Crystallean
相关产品推荐
相关产品推荐

