从Python列表中查找输入字符串的所有紧密匹配项

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

get_close_matches

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

difflib.get_close_matches(word, possibilities, n, cutoff)
word: It is the word to which we need to find the match.
Possibilities: This is the patterns which will be compared for matching.
n: Maximum number of close matches to return. Should be greater than 0.
Cutoff: The possibilities that do not score this float value between 0 and 1 are ignored.

运行上面的代码给我们以下结果-

示例

在下面的示例中,我们只说了一个单词,还列出了需要比较的可能性或模式的列表。然后我们应用该方法以获得所需的结果。

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