在单词列表中查找与给定单词距离最小的单词



假设给定单词列表['windows','hello','python','world','software','desk']和输入单词'widow',如何(快速(从单词列表中找到与输入单词'widow'具有最小编辑距离的单词(本例中的答案是'windows'(?是否有可用的库/功能来实现它?谢谢

内置difflib

import difflib
difflib.get_close_matches("widow", lst, n=1)
#out: ['windows']

这里有python Levenstein库。distance()函数就是您想要的。

关于名单,我会做:

input = "widow"
words = ['windows','hello','python','world','software','desk']
distances = [distance(input, word) for word in words]
closest = words[distances.index(min(distances)]

您必须处理两个单词的输入距离相同的情况。

最新更新