Я пытаюсь найти соответствующие блоки между двумя строками, используя Python's SequenceMatcher
. Строки: "ABCDPQRUVWXYZ"
и "PQRABCDUVWXYZ"
. Однако, когда я применяю get_matching_blocks()
, строка "PQR"
не найдена как соответствующий блок.Последовательность последовательностей Python дает неполное соответствие
from difflib import SequenceMatcher
str1 = "ABCDPQRUVWXYZ"
str2 = "PQRABCDUVWXYZ"
matchAll = SequenceMatcher(None, str1, str2, False).get_matching_blocks()
for i in range(0, len(matchAll)):
print(str1[matchAll[i].a: matchAll[i].a + matchAll[i].size])
Почему вы ожидали найти 'PQR'? Похоже, задача, которую вы хотите выполнить, - это не задача «difflib.SequenceMatcher». – user2357112
использует 'difflib.SequenceMatcher' требование для правильной маркировки ответа? Вы обязаны использовать эту библиотеку? – s2t2
docs: https://docs.python.org/2/library/difflib.html#difflib.SequenceMatcher.get_matching_blocks – innisfree