Cómo crear un índice con Python
importar?re
patt?=?re.compile("\w+")
def?makeIndex(nombre de archivo):
index?=?{}
con?open(nombre de archivo)?as?handle:
para?i,?ln?in?enumerate(handle):
para?word?in?patt.findall(ln):
index.setdefault(word,?[]).append(i+1)
return?index
def?printIndex(index):
para?word,?lst?in?index.items():
imprimir?"%s:? %s"?%?(
palabra,?",?".join(map(str,?lst))
)
def?indexQuery (índice,?*args):
encontrado?=?Ninguno
para?palabra?in?args:
got?=?index.get( palabra,?[])
si?no?obtenido:
devolver?Ninguno
si?no?encontrado:
encontrado ?=?set(got)
si no?
encontrado?&=?set(got)
si?no?encontrado:
return?Ninguno
return?list(encontrado)
index?=?makeIndex("baiduqa.py")
printIndex(index) p>
imprimir?indexQuery(índice,?"en",?"enumerar")