fuzzywuzzy
использует расстояние Левенштейна, что означает, что он сравнивает все символы, включая пробелы и символы, такие как «:».
partial_ratio
сравнивает две строки, но разрешено обрезать более длинную строку до длины более короткой строки.
В вашем случае более короткая строка равна 'ja rule:mesmerize'
с длиной 17.Когда строка сравнивается, более длинная строка обрезается до этого размера.
Учитывая эту информацию, давайте сравним ваши выводы.Мы можем видеть, что первая длинная строка не имеет :
в конце 'ja rule'
, а вторая имеет.Есть много других возможных факторов, но это может быть основной причиной вашего результата.
Я уверен, что более тщательный анализ даст больше информации о счете.Реализация patial_ratio
находится здесь https://github.com/seatgeek/fuzzywuzzy/blob/master/fuzzywuzzy/fuzz.py#L34.