"Steven Bethard" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]

> http://docs.python.org/ref/sequence-methods.html
> __getslice__(  self, i, j)
> ...
> Called to implement evaluation of self[i:j].
> ...
> If no __getslice__() is found, a slice object is created instead, and 
> passed to __getitem__() instead.

The  overwhelmingl most common case of a simple slice is more efficiently 
done by having a separate function since no slice object is created.

>>> a=[1,2,3]
>>> def f(): return a[0:1]
...
>>> import dis
>>> dis.dis(f)
          0 SET_LINENO               1

          3 SET_LINENO               1
          6 LOAD_GLOBAL              0 (a)
          9 LOAD_CONST               1 (0)
         12 LOAD_CONST               2 (1)
         15 SLICE+3
         16 RETURN_VALUE

Terry J. Reedy



-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to