Possible improvement to slice opperations.
rrr at ronadam.com
Wed Sep 7 00:05:01 CEST 2005
Patrick Maupin wrote:
> Ron Adam wrote:
>>>This should never fail with an assertion error. You will note that it
>>>shows that, for non-negative start and end values, slicing behavior is
>>>_exactly_ like extended range behavior.
>>Yes, and it passes for negative start and end values as well.
> Umm, no:
> .>> for stride in [-3, -2, -1, 1, 2, 3]:
> ... for start in range(-1,len(L)):
> ... for end in range(-1,len(L)):
> ... P = L[start:end:stride]
> ... Q = [L[i] for i in range(start, end, stride)]
> ... assert P==Q, [start, end, stride, P, Q]
> Traceback (most recent call last):
> File "<stdin>", line 6, in ?
> AssertionError: [-1, 0, -3, [9, 6, 3], ]
Ah, Yes... I it was way too late last night and I mistakenly changed the
values of L... which was meaningless.
Range lines in the for statements, need to read..
But then it doesn't include all the values of L.
>>Thanks again, this pretty much explains why slices opperate the
>>way they do. And it explains why the edge case's happen as well I think.
> You're welcome.
More information about the Python-list