Python: Finde den nächsten String (aus einer Liste) zu einem anderen String

Sagen wir, ich habe einestring "Hello" und eine Liste

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

Wie finde ich das?n words das sind die nächsten zu"Hello" und in der Liste vorhandenwords ?

In diesem Fall hätten wir['hello', 'hallo', 'Hallo', 'hi', 'format'...]

Die Strategie besteht also darin, die Listenwörter vom nächstgelegenen bis zum am weitesten entfernten Wort zu sortieren.

Ich habe über so etwas nachgedacht

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

aber in großen Listen ist es sehr langsam.

AKTUALISIEREN difflib funktioniert aber es ist auch sehr langsam. (words list enthält mehr als 630000 Wörter (sortiert und eins pro Zeile). Das Durchsuchen der Liste dauert also 5 bis 7 Sekunden für jede Suche nach dem nächstgelegenen Wort!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage