- 浅拷贝
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。
a = [1,2,3,[1,2,3,[5,6]]]
b = a
c = a.copy() #浅拷贝
- 深拷贝:
深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。
深度拷贝会带来一系列问题。如果被拷贝对象中存在指向自身的引用,那么程序很容易陷入无限循环,
import copy
a = [1,2,3,[1,2,3,[5,6]]]
d = copy.deepcopy(a) #深拷贝