用逗号和python在列表中拆分元素

时间:2016-04-11 20:00:15

标签: python

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']

我该如何解决这个问题?

5 个答案:

答案 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]