SequenceMatcher 比例()

2 投票
1 回答
1843 浏览
提问于 2025-04-18 08:37

我原本打算用 SequenceMatcher(...).ratio() 来检查两个字符串是否相似。不过,我做的简单测试得出的结果让我很意外(而且这个方法对我来说不太合适):

>>> SequenceMatcher(None, 'abqab', 'abcab').ratio()
0.8
>>> SequenceMatcher(None, 'abqabc', 'abcabc').ratio()
0.5

一个错误更多的长字符串,应该有相同或更低的相似度吧?

1 个回答

0

abc和abq这两个字符串只有3个字母,而且几乎一样,所以这个结果是正确的。对于更长的、不同的字符串,结果会按照预期表现。

>>> SequenceMatcher(None, 'abqdef', 'abcdef').ratio()
0.83333333333333337

撰写回答