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: ...@@ -457,14 +457,15 @@ The :class:`SequenceMatcher` class has this constructor:
.. method:: get_matching_blocks() .. method:: get_matching_blocks()
Return list of triples describing matching subsequences. Each triple is of Return list of triples describing non-overlapping matching subsequences.
the form ``(i, j, n)``, and means that ``a[i:i+n] == b[j:j+n]``. The 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*. triples are monotonically increasing in *i* and *j*.
The last triple is a dummy, and has the value ``(len(a), len(b), 0)``. It 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')`` 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 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. triples always describe non-adjacent equal blocks.
.. XXX Explain why a dummy is used! .. 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