2014-10-09 10 views
6

Ich habe eine Liste von WortenWie das ähnlichste Wort in einer Liste in Python finden

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

und ich mag str1 jedes Listenelement mit einem String vergleichen und die Ausgabe sollte das ähnlichste Wort sein. Beispiel: Wenn str1anlmal wäre, dann ist animal das ähnlichste Wort. Wie kann ich das in Python machen? Normalerweise sind die Wörter, die ich in meiner Liste habe, gut voneinander unterscheidbar.

Antwort

10

Verwendung difflib:

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

Wie Sie aus Durchsicht the source sehen können, die „nahe“ Spiele werden vom besten zum schlechtesten sortiert.

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