Red de conocimiento informático - Material del sitio web - Cómo crear un índice con Python

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)

imprimir?indexQuery(índice,?"en",?"enumerar")