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

2024-05-15 07:35:15 发布

您现在位置: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个元素的列表列表(每个列表都是一个元素),但是我不知道怎么做。有人能帮帮我吗?谢谢


Tags: 文件in元素列表forgreensplitprint
2条回答

您可以使用列表:

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

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

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

它们都做同样的事情。列表理解更简洁(我认为可读),如果您想在将子列表添加到listOfLists之前对它们做更多的处理,for循环就更灵活一些。你知道吗

看起来您已经读入了一个文件,并且已经在上拆分了。\n为什么不呢

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

相关问题 更多 >