1. difflib
difflib 是一个专注于 比较数据集(尤其是字符串)的 Python 模块。为了具体了解您可以使用此模块完成的几件事,让我们检查一下它的一些最常见的函数。
SequenceMatcher
SequenceMatcher 是一个比较两个字符串并根据它们的相似性返回数据的函数。通过使用 ratio ,我们将能够根据 比率/百分比来 量化这种 相似性。
语法:
SequenceMatcher( None, string1, string2)
下面这个个简单的例子展示了该函数的作用:
from difflib importSequenceMatcher
phrase1 = "Tandrew loves Trees."
phrase2 = "Tandrew loves to mount Trees."
similarity = SequenceMatcher( None, phrase1, phrase2)
print(similarity.ratio)
# Output: 0.8163265306122449
get_close_matches
接下来是 get_close_matches ,该函数返回与作为参数传入的字符串最接近的匹配项。
语法:
get_close_matches(word, possibilities, result_limit, min_similarity)
下面解释一下这些可能有些混乱的参数:
-
word 是函数将要查看的目标单词。
-
possibilities 是一个数组,其中包含函数将要查找的匹配项并找到最接近的匹配项。
-
result_limit 是返回结果数量的限制(可选)。
-
min_similarity 是两个单词需要具有的最小相似度才能被函数视为返回值(可选)。
下面是它的一个使用示例:
from difflib importget_close_matches
word = 'Tandrew'
possibilities = [ 'Andrew', 'Teresa', 'Kairu', 'Janderson', 'Drew']
print(get_close_matches(word, possibilities))
# Output: ['Andrew']
除此之外还有几个是您可以查看的属于 Difflib 的其他一些方法和类: unified_diff 、 Differ 和 diff_bytes
原文: