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.