我正在遍历一个 for 循环,在列表中查找关键字匹配,然后将匹配索引编译到第三个列表。我可以将索引编译为列表列表,但我想通过它们匹配的项目进一步对子列表进行分组。
import re, itertools
my_list = ['ab','cde']
keywords = ['ab','cd','de']
indices=[]
pats = [re.compile(i) for i in keywords]
for pat in pats:
for i in my_list:
for m in re.finditer(pat, i):
a =list((m.start(),m.end()))
indices.append(a)
print(indices)
这将返回:
[[0, 2], [0, 2], [1, 3]]
试图得到:
[[0, 2], [[0, 2], [1, 3]]]
所以很明显:
[[0, 2], [1, 3]]
是上例中“cde”上的索引匹配。