转载自:http://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.html
import copy
a = [1, 2, 3, 4, ['a', 'b']]
print('原 a= ', a)
b = a # 直接复制,对象的引用,相当于别名
c = copy.copy(a) # 浅拷贝,只拷贝了父对象,不会拷贝对象的内部的子对象
d = a.copy() # 浅拷贝,只拷贝了父对象,不会拷贝对象的内部的子对象
e = copy.deepcopy(a) # 深拷贝,完全拷贝了父对象及其子对象
a.append(5)
a[4].append('c')
print('后 a= ', a)
print('赋 值 b= ', b)
print('浅拷贝 c= ', c)
print('浅拷贝 d= ', d)
print('深拷贝 e= ', e)
执行结果:
原 a= [1, 2, 3, 4, ['a', 'b']]
后 a= [1, 2, 3, 4, ['a', 'b', 'c'], 5]
赋 值 b= [1, 2, 3, 4, ['a', 'b', 'c'], 5]
浅拷贝 c= [1, 2, 3, 4, ['a', 'b', 'c']]
浅拷贝 d= [1, 2, 3, 4, ['a', 'b', 'c']]
深拷贝 e= [1, 2, 3, 4, ['a', 'b']]