все Python 3difflibпонятие
difflib.Match
сравнение последовательностей
Именованный кортеж Match(a, b, size): совпадающий кусок a[a:a+size] == b[b:b+size] двух последовательностей.
Синтаксис
Match(a, b, size)
Его возвращают find_longest_match() и get_matching_blocks() у SequenceMatcher. Ловушка: последний элемент get_matching_blocks() — всегда пустой страж Match(len(a), len(b), 0), и цикл, считающий совпадения, должен его пропускать. Из нескольких одинаково длинных совпадений find_longest_match() берёт самое раннее в a.
Примеры
from difflib import SequenceMatcher
sm = SequenceMatcher(None, 'abxcd', 'abcd')
print(sm.get_matching_blocks()) # → [Match(a=0, b=0, size=2), Match(a=3, b=2, size=2), Match(a=5, b=4, size=0)]
m = sm.find_longest_match(0, 5, 0, 4)
print(m.a, m.size, 'abxcd'[m.a:m.a + m.size]) # → 0 2 ab
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности