2014-10-09 13 views
6

Mam listę słówJak znaleźć najbardziej podobny wyraz w liście w python

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

i chcę, aby porównać każdy element listy z ciągiem str1 i wyjście powinno być najbardziej podobny wyraz. Przykład: jeśli str1 byłby anlmal, najbardziej podobnym słowem jest animal. Jak mogę to zrobić w pythonie? Zwykle słowa, które mam na mojej liście, można odróżnić od siebie.

Odpowiedz

10

Zastosowanie difflib:

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

Jak widać z uważne the source, „Zamknij” mecze są posortowane od najlepszego do najgorszego.

>>> import difflib 
>>> difflib.get_close_matches('anlmal', ['car', 'animal', 'house', 'animation']) 
['animal'] 
Powiązane problemy