Commit d9bff4e8 authored by Terry Jan Reedy's avatar Terry Jan Reedy Committed by GitHub

bpo-35079: Revise difflib.SequenceManager.get_matching_blocks doc (GH-10144)

Specify that blocks are non-overlapping. Change '!=' to '<'.
parent 12e696b4
......@@ -457,14 +457,15 @@ The :class:`SequenceMatcher` class has this constructor:
.. method:: get_matching_blocks()
Return list of triples describing matching subsequences. Each triple is of
the form ``(i, j, n)``, and means that ``a[i:i+n] == b[j:j+n]``. The
Return list of triples describing non-overlapping matching subsequences.
Each triple is of the form ``(i, j, n)``,
and means that ``a[i:i+n] == b[j:j+n]``. The
triples are monotonically increasing in *i* and *j*.
The last triple is a dummy, and has the value ``(len(a), len(b), 0)``. It
is the only triple with ``n == 0``. If ``(i, j, n)`` and ``(i', j', n')``
are adjacent triples in the list, and the second is not the last triple in
the list, then ``i+n != i'`` or ``j+n != j'``; in other words, adjacent
the list, then ``i+n < i'`` or ``j+n < j'``; in other words, adjacent
triples always describe non-adjacent equal blocks.
.. XXX Explain why a dummy is used!
......
Improve difflib.SequenceManager.get_matching_blocks doc by adding 'non-
overlapping' and changing '!=' to '<'.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment