我注意到下面有一些奇怪的事情:
>>> print [].append(1)
None
>>> a = [].append(1)
>>> print a
None
>>> a = []
>>> a.append(1)
>>> print a
[1]
我不明白前两个语句和最后一个语句之间的区别是什么。谁能解释一下?
编辑:
这个问题很难被问到。我还应该注意到:
>>> print [] + [1]
[1]
感谢您解释python中对可变数据类型的操作的返回值通常为None。
答案 0 :(得分:2)
.append()
方法不会像您期望的那样返回修改后的列表
使用此行a = [].append(1)
,您可以将返回值(默认情况下为None
)分配给变量a
。您没有指定一个刚刚附加到的数组。
但是,使用此代码
>>> a = []
>>> a.append(1)
您正在修改变量a
中的数组。