On Sat, Oct 09, 2010 at 01:37:03AM +0000, Steven D'Aprano wrote: > On Fri, 08 Oct 2010 15:53:17 -0400, Jed Smith wrote: > > > On Fri, Oct 8, 2010 at 1:26 PM, Steven D'Aprano > > <st...@remove-this-cybersource.com.au> wrote: > >> On Fri, 08 Oct 2010 10:21:16 +0200, Antoon Pardon wrote: > >> > >>> Personnaly I find it horrible > >>> that in the following expression: L[a:b:-1], it is impossible to give > >>> a numeric value to b, that will include L[0] into the reversed slice. > >> > >> > >> > >>>>> L = [1, 2, 3, 4, 5] > >>>>> L[5:-6:-1] > >> [5, 4, 3, 2, 1] > > > >>>> a = [1, 2, 3, 4, 5, 6] > >>>> a[::-1] > > [6, 5, 4, 3, 2, 1] > > > Well of course that works, that is the standard Python idiom for > reversing a sequence. > > But the point was that Antoon claimed that there is no numeric value for > the end position that will include L[0] in the reversed slice. My example > shows that this is not correct.
I stand by that claim. I think it was fairly obvious that what I meant was that it was impossible to give such a numeric value that would work with arbitrary L. if L2 == list(reversed(L1)) and a and b are in the range 1 < x <= len(L), we have the following invariant. L1[a:b] == L2[b-1:a-1:-1] However this no longer works if either nr is 0. That means that if a and be are computed values, that may return 0 to indicate which slice you want; that if you want the reversed slice, there is no straightforward way to get that reversed slice with extended slice notation. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list