string
"Hello"
とリストがあるとしましょう
words = ['hello', 'Hallo', 'hi', 'house', 'key', 'screen', 'hallo','question', 'Hallo', 'format']
n words
リストに最も近く"Hello"
、リストに存在するものを見つけるにはどうすればよいwords
ですか?
この場合、['hello', 'hallo', 'Hallo', 'hi', 'format'...]
したがって、戦略は、リストの単語を最も近い単語から最も遠い単語に並べ替えることです。
こんなことを考えました
word = 'Hello'
for i, item in enumerate(words):
if lower(item) > lower(word):
...
しかし、大きなリストでは非常に遅くなります。
UPDATE
difflib
は機能しますが、非常に遅いです。(words list
内部に630000以上の単語があります(ソートされ、1行に1つ))。したがって、リストを確認するには、最も近い単語を検索するたびに5〜7秒かかります。