SequenceMatcher bug ?
eliben at gmail.com
Tue Dec 9 08:46:01 CET 2008
This is about Python 2.5.2 - I don't know if there were fixes to this
module in 2.6/3.0
I think I ran into a bug with difflib.SequenceMatcher class.
Specifically, its ratio() method. The following:
SequenceMatcher(None,  +  * 500 + ,  * 500 + ).ratio
While the same with 500 replaced by 100 returns .99... something
Looking at the code of SequenceMatcher there's some caching going on
when the sequences are longer than 200 elements (and indeed, I can
reproduce the bug above 200 but not below). Can anyone confirm that
this misbehaves and suggest a workaround ?
P.S. quick_ratio() works fine, it seems.
More information about the Python-list