4

我像这样使用Python

>>>print [].append(1)
None

>>>ls = []
>>>ls.append(1)
>>>ls
[1]

为什么 "[].append(1)" 的值为 None ,而另一个是实际值?

4

2 回答 2

13

因为append()list 方法不返回列表,它只是修改了调用它的列表。在这种情况下,匿名列表被修改然后丢弃。

文档不是很清楚,但它说的是:

list.append(x)

在列表末尾添加一个项目;相当于a[len(a):] = [x]

对于其他方法,例如list.count(x),描述中出现“return”一词,暗示如果没有,则该方法没有返回值。

于 2013-09-04T09:53:11.113 回答
0

append()不返回它修改的列表,但

将对象项附加到列表列表的末尾。成功则返回 0;如果不成功,则返回 -1 并设置异常。

http://docs.python.org/2/c-api/list.html

于 2013-09-04T09:54:40.217 回答