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.. range(-len(l),0) 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. > > Regards, > Pat > -- http://mail.python.org/mailman/listinfo/python-list