On 4/16/2010 9:41 AM, J wrote:
Ok... I know pretty much how .extend works on a list... basically it
just tacks the second list to the first list... like so:

lista=[1]
listb=[2,3]
lista.extend(listb)
print lista;
[1, 2, 3]

This shows right here that lista is extended in place. If you are not convinced, print(id(lista)) before and after.

what I'm confused on is why this returns None:

lista=[1]
listb=[2,3]
print lista.extend(listb)
None

It is conventional in Python (at least the stdlib) that methods that mutate mutable objects 'in-place' return None to clearly differentiate them from methods that return new objects. There are pluses and minuses but such it is.

Terry Jan Reedy

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

Reply via email to