私はforループを繰り返して、リスト内のキーワードの一致を探し、一致インデックスを3番目のリストにコンパイルしています。インデックスをリストのリストとしてコンパイルすることはできますが、一致したアイテムごとにサブリストをさらにグループ化したいと思います。
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」に一致するインデックスです。