为什么python 2.5.2具有以下行为
>>>[2].extend([]) == [2] False >>> [2].extend([]) == None True $ python --version Python 2.5.2
我假设我在这里不理解某些东西,但直觉上我认为[2] .extend([])应该产生[2]
Extend是一种列表方法,它修改它但不返回self
(返回None
).如果需要将修改后的值作为表达式值,请使用+
,如[2]+[]
.
究竟.
>>> x = [2] >>> x.extend([]) # Nothing is printed because the return value is None >>> x == [2] True >>> x [2]
他们故意这样做,以便您记住extend函数实际上就地修改了列表.与sort()相同.它总是返回None.