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