解析附加到空数组

时间:2016-05-06 13:27:59

标签: python python-2.7

我注意到下面有一些奇怪的事情:

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

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

>>> a = []
>>> a.append(1)
>>> print a
[1]

我不明白前两个语句和最后一个语句之间的区别是什么。谁能解释一下?

编辑:

这个问题很难被问到。我还应该注意到:

>>> print [] + [1]
[1]

感谢您解释python中对可变数据类型的操作的返回值通常为None。

1 个答案:

答案 0 :(得分:2)

.append()方法不会像您期望的那样返回修改后的列表 使用此行a = [].append(1),您可以将返回值(默认情况下为None)分配给变量a。您没有指定一个刚刚附加到的数组。
但是,使用此代码

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

您正在修改变量a中的数组。