我有这个列表(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个元素的列表(每个列表都是一个元素),但我不知道该怎么做。请有人帮帮我吗?谢谢
答案 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(':')