Python extend with an empty list bug?


Why does python 2.5.2 have the following behavior

>>>[2].extend([]) == [2]

>>> [2].extend([]) == None

$ 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]

Best Solution

Extend is a method of list, which modifies it but doesn't return self (returning None instead). If you need the modified value as the expression value, use +, as in [2]+[].