Python将每次循环迭代输出到一行数组

时间:2013-07-24 07:40:47

标签: python arrays iteration output

我很确定这有一个简单的答案,但我完全陷入困境!

我有一系列不同数量的单词列表,我试图看看是否可以在文本文件中找到这些单词。 因此,如果我想找到的单词列表是:

stem=[[u'travail',u'electr'],[u'la',u'vou']]

然后我循环遍历词干列表的每个“行”的每个单词,并试图在文本文件中找到该单词。此代码返回单词匹配位置的索引。

for row in stem: 
       for j,i in enumerate(row):
           y=[match.start() for match in re.finditer(re.escape(i), lowe)]
              print y

输出:

[669, 2102, 5810]
   [1452, 2120, 5628]
   [1582, 2912, 3109, 5711]
   [605, 761, 882, 948, 1126, 1132, 1357, 1646, 1936, 2011, 2765, 3286, 3316, 3512, 3821, 3839, 3879, 4012, 4052,   4159, 4417, 4457, 4492, 4699, 4813, 4850, 4921, 4966, 4991, 4998, 5008, 5046, 5118, 5201, 5359, 5506, 5680]

如何获得输出,就像

 [[[669, 2102, 5810], [1452, 2120, 5628]], [[1582, 2912, 3109, 5711], [605, 761, 882, 948, 1126, 1132, 1357, 1646, 1936, 2011, 2765, 3286, 3316, 3512, 3821, 3839, 3879, 4012, 4052, 4159, 4417, 4457, 4492, 4699, 4813, 4850, 4921, 4966, 4991, 4998, 5008, 5046, 5118, 5201, 5359, 5506, 5680]]]

这样每行的输出都在自己的列表中?谢谢!

1 个答案:

答案 0 :(得分:2)

如果我理解正确,这样的事情应该这样做:

output = []
for row in stem: 
   current = []
   output.append(current)
   for j,i in enumerate(row):
       y=[match.start() for match in re.finditer(re.escape(i), lowe)]
       current.append(y)

print output