如何将这些列表合并到一个列表中?

时间:2014-03-19 13:07:10

标签: python

我有这个列表(asList)它是从文件中读取的,现在我需要用冒号分隔它并创建新的列表列表

asList =  ['green:g----:g::g\n', '\n', 'green:gr---:r::gr\n', '\n', 'green:gree-:e::gre\n', '\n', 'green:green:n::gren\n', '\n']

之后的for循环

for i in asList:
    print i.split(":")

结果如下:

['green', 'g----', 'g', '', 'g\n']
['green', 'gr---', 'r', '', 'gr\n']
['green', 'gree-', 'e', '', 'gre\n']
['green', 'green', 'n', '', 'gren\n']

现在我需要将这4个列表组合成一个包含4个元素的列表(每个列表都是一个元素),但我不知道该怎么做。请有人帮帮我吗?谢谢

2 个答案:

答案 0 :(得分:4)

您可以使用列表理解:

listOfLists = [i.split(":") for i in asList]

或者更改for循环,你必须将它们附加到父列表:

listOfLists = []
for i in asList:
    listOfLists.append(i.split(":"))

这两者都做同样的事情。列表推导更简洁(我认为可读),如果你想在将这些列表添加到listOfLists之前对子列表做更多的事情,那么for循环会更灵活。

答案 1 :(得分:0)

看起来你已在文件中读取并已在\ n上拆分。为什么不

data = open('foo','r')。read()。replace('\ n',':')。split(':')