[docs] [issue28882] Slice confusing with negative stop and strides and the 0th element.

Martin Panter report at bugs.python.org
Fri Dec 9 18:42:07 EST 2016

Martin Panter added the comment:

I think Steven’s main complaint is that it is hard to make a reversed slice extend to the start of the original sequence, unless you omit (or use None as) the endpoint:

>>> "01234567"[4:0:-1]  # Includes index [4], stops before reaching index [0]
>>> "01234567"[3::-1]  # Includes index [3], stop omitted for start of string
>>> "01234567"[3:None:-1]  # None means the same
>>> "01234567"[3:-1:-1]  # Negative means len(...) - 1, i.e. index [7]

This is a consequence of (a) the stop parameter meaning “stop _before_ reaching this index”, and (b) negative indexes are interpreted specially as being relative to the end.

nosy: +martin.panter

Python tracker <report at bugs.python.org>

More information about the docs mailing list