On Sun, Aug 21, 2011 at 10:27 AM, Max <maxmo...@gmail.com> wrote: > On Aug 20, 1:40 pm, Steven D'Aprano <steve > +comp.lang.pyt...@pearwood.info> wrote: >> On Sat, Aug 20, 2011 at 7:20 PM, Max Moroz <maxmo...@gmail.com> 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 position 10, going down to the >> > beginning? <snip> >> The usual advice is to do your slicing twice, reversing it the second time: >> >> 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).
That would require CPython to assume certain slicing semantics for all types (which it can't) or to check for this very specific case at runtime (which would slow down all other [list] slicing operations). A smarter implementation such as PyPy could indeed theoretically optimize this case though. Cheers, Chris -- http://mail.python.org/mailman/listinfo/python-list