From: Martin Panter Date: Sat, 24 Dec 2016 08:25:15 +0000 (+0000) Subject: Issue #1446619: Account for negative slice direction in description X-Git-Tag: v2.7.14rc1~321 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=427ca62dde4233c9b4065f3e4139ce0e5ce5b752;p=python Issue #1446619: Account for negative slice direction in description Based on suggestion from Fumihiro Bessho. --- diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index be2803239b..f3ce448758 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -834,8 +834,10 @@ Notes: 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``.