python中复制、浅层拷贝、深层拷贝的区别
一、学习要点:
1.python中的复制与拷贝的区别
2.python中浅层拷贝与深层拷贝的区别
二、代码:
import copy
a=[1,2,3,4,['a','b']]
b=a
c=copy.copy(a)
d=copy.deepcopy(a)
a.append(5)
print(a)
print(b)
print(c)
print(d)
a[4].append('c')
print(a)
print(b)
print(c)
print(d)
三、运行结果:
四、注意要点:
1.外层添加元素时,浅拷贝c不会随原列表a变化而变化;内层list添加元素时,浅拷贝才会变化。
2.无论原列表a如何变化,深拷贝d都不会发生变化。
3.赋值对象指向原对象,赋值对象随原列表一起变化。