which is more pythonic/faster append or +=[]

7stud bbxx789_05ss at yahoo.com
Wed May 9 12:08:43 EDT 2007


On May 8, 11:05 pm, a... at mac.com (Alex Martelli) wrote:
> alf <ask at me> wrote:
> > two ways of achieving the same effect
>
> > l+=[n]
>
> > or
>
> > l.append(n)
>
> > so which is more pythonic/faster?
>
> .append - easy to measure, too:
>
> brain:~ alex$ python -mtimeit 'L=range(3); n=23' 'x=L[:]; x.append(n)'
> 1000000 loops, best of 3: 1.31 usec per loop
>
> brain:~ alex$ python -mtimeit 'L=range(3); n=23' 'x=L[:]; x+=[n]'
> 1000000 loops, best of 3: 1.52 usec per loop
>
> Alex

Ah, I see.  The list would grow too large with all that appending, so
you begin again with the original list for every loop.

Is there any documentation for the syntax you are used with timeit?  I
checked 'man python', and I also read the example in the python docs,
but  you seem to be using a hybrid syntax.

Thanks.




More information about the Python-list mailing list