在 Python 中从列表中查找输入字符串的所有相近匹配项

pythonserver side programmingprogramming更新于 2025/10/11 7:40:17

假设我们给定一个单词,我们想要找到其最接近的匹配项。不是完全匹配,而是在模式上与给定单词有一定相似性的其他单词。为此,我们使用一个名为 difflib 的模块并使用其名为 get_close_matches 的方法。

get_close_matches

此方法是 difflib 模块的一部分,它为我们提供了与我们指定的可能模式相匹配的匹配项。以下是语法。

difflib.get_close_matches(word, suggestions, n, cutoff)
word:这是我们需要找到匹配项的单词。
Possibilities:这是将进行比较以进行匹配的模式。
n:要返回的最大相近匹配项数。应大于 0。
截止:未将此浮点值得分在 0 和 1 之间的可能性将被忽略。

运行上述代码得到以下结果 −

示例

在下面的例子中,我们取一个单词以及需要比较的可能性或模式列表。然后我们应用该方法来获得所需的结果。

from difflib import get_close_matches

word = 'banana'
patterns = ['ana', 'nana', 'ban', 'ran','tan']

print('matched words:',get_close_matches(word, patterns))

输出

运行上述代码得到以下结果 −

matched words: ['nana', 'ban', 'ana']

相关文章


有用资源