[Python-checkins] cpython (2.7): Issue #1446619: Account for negative slice direction in description

martin.panter python-checkins at python.org
Sat Dec 24 03:49:28 EST 2016


https://hg.python.org/cpython/rev/d63a11bd98ce
changeset:   105809:d63a11bd98ce
branch:      2.7
parent:      105805:5ae6102270df
user:        Martin Panter <vadmium+py at gmail.com>
date:        Sat Dec 24 08:25:15 2016 +0000
summary:
  Issue #1446619: Account for negative slice direction in description

Based on suggestion from Fumihiro Bessho.

files:
  Doc/library/stdtypes.rst |  6 ++++--
  1 files changed, 4 insertions(+), 2 deletions(-)


diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -834,8 +834,10 @@
    The slice of *s* from *i* to *j* with step *k* is defined as the sequence of
    items with index  ``x = i + n*k`` such that ``0 <= n < (j-i)/k``.  In other words,
    the indices are ``i``, ``i+k``, ``i+2*k``, ``i+3*k`` and so on, stopping when
-   *j* is reached (but never including *j*).  If *i* or *j* is greater than
-   ``len(s)``, use ``len(s)``.  If *i* or *j* are omitted or ``None``, they become
+   *j* is reached (but never including *j*).  When *k* is positive,
+   *i* and *j* are reduced to ``len(s)`` if they are greater.
+   When *k* is negative, *i* and *j* are reduced to ``len(s) - 1`` if
+   they are greater.  If *i* or *j* are omitted or ``None``, they become
    "end" values (which end depends on the sign of *k*).  Note, *k* cannot be zero.
    If *k* is ``None``, it is treated like ``1``.
 

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list