SequenceMatcher в difflib игнорирует «мусорные» символы

У меня есть много строк, которые я хочу сопоставить на предмет сходства (каждая строка в среднем состоит из 30 символов). Я нашел difflibSequenceMatcher, который отлично подходит для этой задачи, так как он прост и дает хорошие результаты. Но если я сравню хеллбойи адский мальчиквот так

>>> sm=SequenceMatcher(lambda x:x=='-','hellboy','hell-boy')
>>> sm.ratio()
0: 0.93333333333333335

, я хочу, чтобы такие слова давали 100-процентное совпадение, то есть отношение 1,0. Я понимаю, что ненужный символ, указанный в приведенной выше функции, используется не для сравнения, а для поиска самой длинной непрерывной совпадающей подпоследовательности. Можно ли как-то заставить SequenceMatcherигнорировать некоторые «мусорные» символы для целей сравнения?

5
задан lovesh 2 April 2012 в 20:53
поделиться