Re: extended slicing and negative stop value problem

2011-08-23 Thread Ian Kelly
On Aug 21, 2011 1:34 PM, "Max" wrote: > > a[0:11][::-1] > > # Instead of a[10:-1:-1], which looks like it should work, but doesn't. > > It works nicely, but it is 1.3 times slower in my code (I am surprised > the interpreter doesn't optimize this). Have you tried reverse()? I haven't timed it, bu

Re: extended slicing and negative stop value problem

2011-08-21 Thread Chris Rebert
On Sun, Aug 21, 2011 at 10:27 AM, Max wrote: > On Aug 20, 1:40 pm, Steven D'Aprano +comp.lang.pyt...@pearwood.info> wrote: >> On Sat, Aug 20, 2011 at 7:20 PM, Max Moroz wrote: >> > Would it be a good idea to change Python definition so that a[10, -1, -1] >> >> I presume you mean slice notation a

Re: extended slicing and negative stop value problem

2011-08-21 Thread Max
On Aug 20, 1:40 pm, Steven D'Aprano wrote: > Pardon me for breaking threading, but I don't have Max's original post. Not sure why; I also can't see it! I'll copy it at the end just in case. > On Sat, Aug 20, 2011 at 7:20 PM, Max Moroz wrote: > > Would it be a good idea to change Python definiti

Re: extended slicing and negative stop value problem

2011-08-20 Thread Steven D'Aprano
Pardon me for breaking threading, but I don't have Max's original post. On Sat, Aug 20, 2011 at 7:20 PM, Max Moroz wrote: > Would it be a good idea to change Python definition so that a[10, -1, -1] I presume you mean slice notation a[10:-1:-1]. > referred to the elements starting with positio

Re: extended slicing and negative stop value problem

2011-08-20 Thread Chris Angelico
On Sat, Aug 20, 2011 at 7:52 PM, Max wrote: > That doesn't work if it's set in a loop or if it's calculated as a > formula. For example, this very simple code doesn't work because of > the "-1 problem". > Right, which is what I meant by setting it to an explicit None: if input[starting_pos:endin

Re: extended slicing and negative stop value problem

2011-08-20 Thread Max
On Aug 20, 11:29 am, Chris Angelico wrote: > If you're using a variable for the stop value, you just need to set it > to an explicit None if it would fall negative: > > >>> a[10:None:-1] > That doesn't work if it's set in a loop or if it's calculated as a formula. For example, this very simple co

Re: extended slicing and negative stop value problem

2011-08-20 Thread Chris Angelico
On Sat, Aug 20, 2011 at 7:20 PM, Max Moroz wrote: > Would it be a good idea to change Python definition so that a[10, -1, -1] > referred to the elements starting with position 10, going down to the > beginning? Well, first off I think it's a dangerous idea to change semantics of something like th