myList = ['Jay', 'Phil', 'Gloria, Claire']
我想检查列表中的每个元素并用逗号分隔,使两个新元素保持在同一个列表中。输出应该是:
myList = ['Jay', 'Phil', 'Gloria', 'Claire']
我试过这个:
newList = []
myList = ['Jay', 'Phil', 'Gloria, Claire']
for element in myList:
newList.append(element.split(','))
但我输出了很多子列表,这不是我想要的:
['Jay'], ['Phil'], ['Gloria', 'Claire']
我该如何解决这个问题?
答案 0 :(得分:1)
尝试使用extend
代替append
。
for element in myList:
newList.extend(element.split(','))
答案 1 :(得分:1)
您可以建议您使用列表理解:
newList = [element for item in myList for element in item.split(',')]
答案 2 :(得分:0)
您有一个重大错误
首先:正确地将列表附加到列表需要采用不同的方法(使用+ =与追加)
然后你需要使用' strip'删除'中的空白区域,Claire'得到克莱尔' (不是'克莱尔')
newList = []
myList = ['Jay', 'Phil', 'Gloria, Claire']
for element in myList:
newList += element.split(',')
newList = [x.strip() for x in newList]
print newList
# ['Jay', 'Phil', 'Gloria', 'Claire']
答案 3 :(得分:0)
您的解决方案适用于不同的问题。
如果:
myList = "Jay,Phil,Gloria,Claire"
将字符串溢出到单词列表中是有意义的。
目前你已经有一个单词列表,所以你拆分它是没有意义的。
答案 4 :(得分:0)
在这种情况下列表理解很有效
subList = [elem.split(',') for elem in mylist]
newList = [l for elem in subList for l in elem]