[issue39249] difflib SequenceMatcher 200 char length limitation for ratio calculation
Daniel Pezoa
report at bugs.python.org
Tue Jan 7 14:42:59 EST 2020
New submission from Daniel Pezoa <danieladportas at gmail.com>:
I am using the SequenceMatcher object of the difflib library and I have noticed that a drastic failure occurs when the text strings exceed 200 characters
Source code:
=====================================================================
from difflib import SequenceMatcher
def main():
# Throw a value of 7% when they are almost equal for having more than 200 characters
text1 = "aceite y pez hirviendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las manos"
text2 = "aceite y pedir viendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las manos"
m = SequenceMatcher(None, text1, text2)
x = m.ratio()
porcentaje = (int)(x * 100)
print("{}\n\n{}\n\n{}\n\nBad: {}%\n\n".format(text1, text2, x, porcentaje))
# Throw the expected value of 99% for having less than 200 characters
text1 = "aceite y pez hirviendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las"
text2 = "aceite y pedir viendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las"
text1 = "aceite y pez hirviendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas"
text2 = "aceite y pedir viendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas"
m = SequenceMatcher(None, text1, text2)
x = m.ratio()
porcentaje = (int)(x * 100)
print("{}\n\n{}\n\n{}\n\nGood: {}%".format(text1, text2, x, porcentaje))
if __name__== "__main__":
main()
Output:
======================================================================
aceite y pez hirviendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las manos
aceite y pedir viendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas y encendidas que no podan desprenderse ni arrancarse sin quemarse las manos
0.0794044665012407
Bad: 7%
aceite y pez hirviendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas
aceite y pedir viendo que vena de la plataforma y de la cual salan tambin muchsimas flechas rodeadas de estopas alquitranadas
0.9800796812749004
Good: 98%
----------
components: Library (Lib)
messages: 359534
nosy: Daniel Pezoa
priority: normal
severity: normal
status: open
title: difflib SequenceMatcher 200 char length limitation for ratio calculation
type: behavior
versions: Python 3.6
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue39249>
_______________________________________
More information about the Python-bugs-list
mailing list