在单词列表中找到与给定单词距离最小的单词
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']
假设给定一个单词列表['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']