python中的直接赋值、浅拷贝和深拷贝很容易让人混淆。...1.赋值
a = ['zero', [1,2,3]]
b = a
2.浅拷贝(shallow copy)
import copy
c = copy.copy(a)
3.深拷贝(deep copy)
d...c输出:
'zero', [1, 2, 3, '4']]
d输出:
['zero', [1, 2, 3]]
赋值的时候,是直接引用,b与a其实都指向同一个对象,所以当a改变时,b也随机改变;
浅拷贝的时候...,a与c独立,但是子对象指向同一对象,a变化时,c列表的子列表[1,2,3]变成了[1,2,3,4];
深拷贝的时候,完全拷贝a及其子对象,d与a独立,d不随a的变化而变化。