Python嵌套列表字符串元素提取及split()函数使用问题
问题解决
原代码的问题
- 变量名错误:原列表是
list1,代码里误写为List1(),这会触发NameError,因为不存在这个函数,应该直接遍历list1。 - 分割方式错误:
split()默认按空白字符分割,但你的字符串是用逗号分隔的,必须指定分隔符为','才能正确拆分单词。 - 输出格式未对齐:原代码直接打印拆分后的元素,无法得到你要的逗号加空格连接的连续输出。
修正后的代码
方法1:分步实现
list1 = [["Milk,Bread,Butter"], ["Milk,Bread,Butter"], ["Milk,Bread,Butter"]] # 收集所有拆分后的单词 all_words = [] for subList in list1: # 按逗号拆分字符串,得到单个单词的列表 words = subList[0].split(',') all_words.extend(words) # 用", "连接所有单词,输出期望格式 print(', '.join(all_words))
方法2:简化写法(列表推导式)
list1 = [["Milk,Bread,Butter"], ["Milk,Bread,Butter"], ["Milk,Bread,Butter"]] # 一行完成提取与格式拼接 result = ', '.join(word for sub in list1 for word in sub[0].split(',')) print(result)
输出结果
Milk, Bread, Butter, Milk, Bread, Butter, Milk, Bread, Butter
内容的提问来源于stack exchange,提问作者Analyzer
相关产品推荐
相关产品推荐

