Appending a list's elements to another list using a list comprehension

Paul Hankin paul.hankin at gmail.com
Wed Oct 17 17:40:40 EDT 2007


On Oct 17, 10:03 pm, Debajit Adhikary <debaj... at gmail.com> wrote:
> How does "a.extend(b)" compare with "a += b" when it comes to
> performance? Does a + b create a completely new list that it assigns
> back to a? If so, a.extend(b) would seem to be faster. How could I
> verify things like these?

Use a += b rather than a.extend(b): I'm not sure what I was thinking.
Anyway, look at 'timeit' to see how to measure things like this, but
my advice would be not to worry and to write the most readable code -
and only optimise if your code's runnign too slowly.

To answer your question though: a += b is *not* the same as a = a + b.
The latter would create a new list and assign it to a, whereas a += b
updates a in-place.

--
Paul Hankin




More information about the Python-list mailing list