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

Specify that blocks are non-overlapping. Change '!=' to '<'.
This commit is contained in:
Terry Jan Reedy 2018-10-26 23:03:08 -04:00 committed by GitHub
parent 12e696b4f0
commit d9bff4e81b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 3 deletions

View file

@ -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!

View file

@ -0,0 +1,2 @@
Improve difflib.SequenceManager.get_matching_blocks doc by adding 'non-
overlapping' and changing '!=' to '<'.