2014-10-09 8 views
6

Ho una lista di paroleCome trovare la parola più simile a un elenco in python

list = ['car', 'animal', 'house', 'animation'] 

e voglio confrontare ogni elemento della lista con una stringa str1 e l'uscita dovrebbe essere la parola più simile. Esempio: se str1 è anlmal, allora la parola più simile è animal. Come posso farlo in Python? Di solito le parole che ho nella mia lista sono ben distinguibili l'una dall'altra.

risposta

10

Uso difflib:

difflib.get_close_matches(word, ['car', 'animal', 'house', 'animation']) 

Come si può vedere da sfogliando the source, i "chiudere" le partite sono allineati dal migliore al peggiore.

>>> import difflib 
>>> difflib.get_close_matches('anlmal', ['car', 'animal', 'house', 'animation']) 
['animal'] 
Problemi correlati