关于 SequenceMatcher.ratio() 函数在 python 中的运作的清晰度
Clarity about functioning of SequenceMatcher.ratio() function in python
我对 SequenceMatcher.ratio() 的工作原理感到困惑。在网上搜索后,我了解到计算比率的公式是:
比率 = 2.0 * M / T
哪里
M = 匹配数
T = 两个序列中的元素总数
我尝试在函数中输入不同的值,但在某些情况下我得到了一些意想不到的答案
我试过的值:
>>> SequenceMatcher(None, "rain","nrai").ratio().
0.75
在上述情况下使用比率公式应该给出答案 1.0
M = 4 (as all the letters match)
T = 8 (both words are of 4 letters)
Ratio = 2.0 * 4 / 8
Ratio = 8/8 = 1.0
我很难理解为什么它会这样?在此先感谢您的帮助。
有3场比赛:
给定 "rain" "nrai"
"ra"
"ai"
"rai"
2 * 3 / 8 = 0.75
你不是在匹配字母是否存在于两个序列上,你是在匹配字母的序列(组)。
1.0 仅在序列为 EXACT
时返回
我对 SequenceMatcher.ratio() 的工作原理感到困惑。在网上搜索后,我了解到计算比率的公式是:
比率 = 2.0 * M / T
哪里
M = 匹配数
T = 两个序列中的元素总数
我尝试在函数中输入不同的值,但在某些情况下我得到了一些意想不到的答案
我试过的值:
>>> SequenceMatcher(None, "rain","nrai").ratio().
0.75
在上述情况下使用比率公式应该给出答案 1.0
M = 4 (as all the letters match)
T = 8 (both words are of 4 letters)
Ratio = 2.0 * 4 / 8
Ratio = 8/8 = 1.0
我很难理解为什么它会这样?在此先感谢您的帮助。
有3场比赛: 给定 "rain" "nrai"
"ra"
"ai"
"rai"
2 * 3 / 8 = 0.75
你不是在匹配字母是否存在于两个序列上,你是在匹配字母的序列(组)。
1.0 仅在序列为 EXACT
时返回