我很确定这有一个简单的答案,但我完全陷入困境!
我有一系列不同数量的单词列表,我试图看看是否可以在文本文件中找到这些单词。 因此,如果我想找到的单词列表是:
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]]]
这样每行的输出都在自己的列表中?谢谢!
答案 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