1. copy 浅拷贝,只拷贝父对象,不会拷贝对象内部的子对象,而是对子对象引用。
import copy a = [1, [2, 3]] b = copy.copy(a) a[0] = 2 a[1][0] = 1 print 'a= ', a print 'b= ', b
输出:
a= [2, [1, 3]]
b= [1, [1, 3]]
它等价于:
import copy a = [1, [2, 3]] b = a[:] #对于子对象只引用了 a[0] = 2 a[1][0] = 1 print 'a= ', a print 'b= ', b
2. deepcopy 深拷贝 拷贝对象及其子对象
import copy a = [1, [2, 3]] b = copy.deepcopy(a) a[0] = 2 a[1][0] = 1 print 'a= ', a print 'b= ', b
输出:
a= [2, [1, 3]]
b= [2, [1, 3]]