Why does python 2.5.2 have the following behavior
>>>[2].extend([]) == [2]
False
>>> [2].extend([]) == None
True
$ python --version
Python 2.5.2
I assume I'm not understanding something here, but intuitively I'd think that [2].extend([]) should yield [2]
From stackoverflow
Doug T.
-
Extend is a method of list, which modifies it but doesn't return
self(returningNoneinstead). If you need the modified value as the expression value, use+, as in[2]+[].From RafaĆ Dowgird -
Exactly.
>>> x = [2] >>> x.extend([]) # Nothing is printed because the return value is None >>> x == [2] True >>> x [2]They do this on purpose so that you will remember that the extend function is actually modifying the list in-place. Same with sort(). It always returns None.
From MatrixFrog
No comments:
Post a Comment