如何将单个python列表元素拆分为多个独立的列表元素?

时间:2013-02-04 01:50:01

标签: python list nested-lists

我有一个完全如下所示的.txt文件:

  

0,你好,01,烹饪,02,骑自行车,13,我的夏威夷假期,14,爱荷华州的冰冻天气,0

我到目前为止的代码是:

a = open('wiki.txt','r')
ar = a.readlines()
biglistA = map(lambda each:each.strip('\n'), ar)

这给了我输出:

['0,Hello,0', '1,Cooking,0', '2,Biking,1', '3,My Hawaii Vacation,1', '4,Freezing weather in Iowa,0']

我需要看起来像这样:

[['0','Hello','0'], ['1','Cooking','0'], ['2','Biking','1'], ['3','My Hawaii Vacation','1'], ['4','Freezing weather in Iowa','0']] 

最终产品需要是一个嵌套列表,每个元素都被引用,即:

print newlist[1][1]

'烹饪'

这是所需的输出。如果有人能提供帮助,我们将不胜感激!

2 个答案:

答案 0 :(得分:3)

在我看来,你需要像:

with open('wiki.txt') as fin:
    bigListA = [ line.strip().split(',') for line in fin ]

答案 1 :(得分:1)

一个奇怪的要求。我想正则表达式是最好的选择:

import re
with open('wiki.txt') as f:
  s = f.read()
newlist = [triple.split(',') for triple in re.findall(r'\d,.*?,\d', s)]

或者,继续你已经在的地方,只需应用列表理解,如:

newlist = [x.split(',') for x in biglistA]