深拷贝与浅拷贝 python

传送门

import copy
 
# copy 和 deepcopy 的区别
 
l1 = [1, 2, 3, ['a', 'b']]
# copy 浅复制,不会拷贝其子对象,修改子对象,将受影响
l2 = copy.copy(l1)
 
# deepcopy 深复制,将拷贝其子对象,修改子对象,将不受影响
l3 = copy.deepcopy(l1)
 
l1[3].append('c')
 
print 'l1:', l1
print 'l2:', l2
print 'l3:', l3

输出:
l1: [1, 2, 3, ['a', 'b', 'c']]
l2: [1, 2, 3, ['a', 'b', 'c']]
l3: [1, 2, 3, ['a', 'b']]

猜你喜欢

转载自blog.csdn.net/qq_33427267/article/details/82468591