Python: encontre a string mais próxima (de uma lista) para outra string

Vamos dizer que eu tenho umstring "Hello" e uma lista

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

Como posso encontrar on words que são os mais próximos"Hello" e presente na listawords ?

Neste caso, teríamos['hello', 'hallo', 'Hallo', 'hi', 'format'...]

Portanto, a estratégia é classificar as palavras da lista da palavra mais próxima para a mais próxima.

Eu pensei em algo assim

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

mas é muito lento em listas grandes.

ATUALIZAR difflib funciona, mas também é muito lento. (words list tem 630000+ palavras dentro (ordenadas e uma por linha)). Portanto, verificar a lista leva de 5 a 7 segundos para cada pesquisa da palavra mais próxima.

questionAnswers(4)

yourAnswerToTheQuestion