A = [1, 2, 3]
B = A
A.append(5)
print A, B
结果A, B都是[1, 2, 3, 5]
如何让将A的值赋给B,且A的内容改变了后不影响B的内容?
即打印出[1, 2, 3, 5], [1, 2, 3]
A = [1, 2, 3]
B = A[0:len(A)]
A.append(5)
print A, B
直接B=A.copy(),直接将A中的元素拷贝给了B,你可以去了解一下python里面深拷贝和浅拷贝的内容。
你这个就属于浅拷贝,相当于A、B引用的都是同一个地址空间,而这个地址空间只是这个列表的地址,所以不论这个列表内容怎么变化,它的地址空间并没有变化,所以就导致,指向这个地址空间的变量的值都是一样的。因为A,B都是指向的这个列表的地址空间,所以他们的值都会随着列表的变化而变化,且相同。
如果想要其不同就需要用深拷贝。