为什么[] .append(1)是None

时间:2013-09-04 09:51:14

标签: python

我像这样使用Python

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

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

为什么“[] .append(1)”值为无,而另一个是真值?

2 个答案:

答案 0 :(得分:13)

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

The documentation并不是很清楚,但它只是说:

  

list.append(x)的

     

将项目添加到列表的末尾;相当于a[len(a):] = [x]

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

答案 1 :(得分:0)

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

  

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

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