# HG changeset patch # Parent 889cb7ebc38d049d893553fd4890dc14de5750ee Issue #1446619: Account for negative slice direction in description Based on suggestion from Fumihiro Bessho. diff -r 889cb7ebc38d -r e95ba837260c Doc/library/stdtypes.rst --- a/Doc/library/stdtypes.rst Sat Dec 10 04:22:27 2016 +0000 +++ b/Doc/library/stdtypes.rst Sat Dec 10 04:39:58 2016 +0000 @@ -942,8 +942,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``.