当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python difflib.SequenceMatcher.get_matching_blocks用法及代码示例


用法:

get_matching_blocks()

返回说明非重叠匹配子序列的三元组列表。每个三元组的格式为 (i, j, n) ,表示 a[i:i+n] == b[j:j+n] 。三元组在 ij 中单调递增。

最后一个三元组是一个虚拟对象,其值为 (len(a), len(b), 0) 。它是唯一带有 n == 0 的三元组。如果 (i, j, n)(i', j', n') 是列表中相邻的三元组,并且第二个不是列表中的最后一个三元组,则 i+n < i'j+n < j' ;换句话说,相邻的三元组总是说明不相邻的相等块。

>>> s = SequenceMatcher(None, "abxcd", "abcd")
>>> s.get_matching_blocks()
[Match(a=0, b=0, size=2), Match(a=3, b=2, size=2), Match(a=5, b=4, size=0)]

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 difflib.SequenceMatcher.get_matching_blocks。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。