添加到Python 2.7中的列表

时间:2015-11-16 14:58:26

标签: python python-2.7

>>> A = [1,2,3,4]
>>> D = A
>>> D
[1, 2, 3, 4]
>>> D = D + [5]
>>> A
[1, 2, 3, 4]
>>> C = A
>>> C += [5]
>>> A
[1, 2, 3, 4, 5]

为什么C += [5]会修改A,但D = D + [5]不会修改?{/ p>

python中的=+=或其他任何语言之间有什么区别吗?

1 个答案:

答案 0 :(得分:2)

其实是的。当您使用+=时,您仍然引用同一个对象,但是使用+创建一个新对象,并使用=重新分配对该新创建对象的引用。在处理函数参数时,这一点尤其重要。感谢@Amadan和@Peter Wood澄清这一点。