Python: znajdź najbliższy ciąg (z listy) do innego łańcucha

Powiedzmy, że mamstring "Hello" i lista

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

Jak mogę znaleźćn words które są najbliżej"Hello" i obecny na liściewords ?

W tym przypadku mielibyśmy['hello', 'hallo', 'Hallo', 'hi', 'format'...]

Tak więc strategia polega na sortowaniu słów listy od najbliższego słowa do najdalszego.

Myślałem o czymś takim

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

ale na dużych listach jest bardzo wolno.

AKTUALIZACJA difflib działa, ale jest też bardzo powolny. (words list ma 630000+ słów w środku (posortowane i po jednym na linię)). Sprawdzanie listy zajmuje od 5 do 7 sekund na każde wyszukiwanie najbliższego słowa!

questionAnswers(4)

yourAnswerToTheQuestion