Bug in slice type
Kay Schluehr
kay.schluehr at gmx.net
Sun Aug 21 04:20:53 EDT 2005
Steven Bethard wrote:
> "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."
>
> This seems to contradict list behavior though.
> range(10)[9:-1:-2] == []
No, both is correct. But we don't have to interpret the second slice
argument m as the limit j of the above definition. For positive values
of m the identity
m==j holds. For negative values of m we have j = max(0,i+m). This is
consistent with the convenient negative indexing:
>>> range(9)[-1] == range(9)[8]
If we remember how -1 is interpreted as an index not as some limit the
behaviour makes perfect sense.
Kay
More information about the Python-list
mailing list