假设给定一个单词列表['windows','hello','python','world','software','desk']
和一个输入单词'widow'
,如何(快速)从单词列表中找到与输入单词具有最小编辑距离的单词'widow'
(本例中的答案是'windows'
)?是否有可用的库/函数来实现它?谢谢!
问问题
57 次
2 回答
2
有python-Levenshtein库。该distance()
功能是您正在寻找的。
关于清单,我会这样做:
input = "widow"
words = ['windows','hello','python','world','software','desk']
distances = [distance(input, word) for word in words]
closest = words[distances.index(min(distances)]
您将不得不处理两个单词的输入距离相同的情况。
于 2021-07-09T13:15:25.860 回答
2
内置difflib
import difflib
difflib.get_close_matches("widow", lst, n=1)
#out: ['windows']
于 2021-07-09T13:16:42.787 回答