Работа методов set_seq1 и set_seq2, difflib python
Я проверил документы difflib, и я запутался в том, как difflib.SequenceMatcher.ratio()
на самом деле работает. Учти это:
s = difflib.SequenceMatcher(None, "hey here" , "hey there").ratio()
print s
даетs = 0.9411764705882353
Я хотел знать, как именно это вычисляется. 2 строки сравниваются, фактически просматривая отклонение одной строки относительно другой. Для 2 строк a и b Документы говорят:
Различия вычисляются как "что нам нужно сделать, чтобы" а "превратил его в" б "?"
И есть что-то вроде:
для x в b, b2j[x] - список индексов (в b), в которых появляется x;нежелательные элементы не отображаются
Пожалуйста, объясните в приведенном выше примере с.
1 ответ
Из документов:
Где T - общее количество элементов в обеих последовательностях, а M - количество совпадений, это 2,0*M / T.
В этом случае T равно 17, потому что первая строка имеет 8 символов, а вторая строка - 9. M равно 8, потому что восемь символов из первой строки соответствуют символам из второй. 2 * 8 / 17 равно 0,9411764705882353.