Python: encuentra la cadena más cercana (de una lista) a otra cadena

Digamos que tengo unstring "Hello" y una lista

<code>words = ['hello', 'Hallo', 'hi', 'house', 'key', 'screen', 'hallo','question', 'Hallo', 'format']
</code>

¿Cómo puedo encontrar eln words que son los mas cercanos a"Hello" y presente en la listawords ?

En este caso, tendríamos['hello', 'hallo', 'Hallo', 'hi', 'format'...]

Así que la estrategia es ordenar las palabras de la lista de la palabra más cercana a la más alejada.

Pensé en algo como esto

<code>word = 'Hello'
for i, item in enumerate(words):
    if lower(item) > lower(word):
      ...
</code>

Pero es muy lento en grandes listas.

ACTUALIZAR difflib Funciona pero es muy lento también. (words list tiene 630000+ palabras dentro (ordenadas y una por línea)). ¡Así que revisar la lista toma de 5 a 7 segundos para cada búsqueda de la palabra más cercana!

Respuestas a la pregunta(4)

Su respuesta a la pregunta