當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。