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

Find a word in a list of words that has minimum distance with a given word

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

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)]

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

内置difflib

import difflib
difflib.get_close_matches("widow", lst, n=1)

#out: ['windows']