我正在尝试使用SequenceMatcher.ratio()
来获取两个字符串的相似性:"86418648"
和"86488648"
:
>>> SequenceMatcher(None,"86418648","86488648").ratio()
0.5
返回的比率是0.5
,这比我预期的要低得多,因为两个字符串中只有一个字符不同。
似乎该比率是根据匹配块计算的。所以我尝试运行SequenceMatcher.get_matching_blocks()
:
>>> SequenceMatcher(None,"86418648","86488648").get_matching_blocks()
[Match(a=4, b=0, size=4), Match(a=8, b=8, size=0)]
但我预计结果是:
[Match(a=0, b=0, size=3), Match(a=4, b=4, size=4), Match(a=8, b=8, size=0)]
谁能帮忙解释为什么它与前 3 个数字不匹配"864"
?