Python浅拷贝和深拷贝

参考资料:http://www.cnblogs.com/LetMe/p/6724555.html

1.浅拷贝

  浅拷贝: 不管是多么复杂的数据结构,浅拷贝只会拷贝第一层.
  

import copy
list_1 = [1,2,['a','b','c'],3]
list_2 = list_1[:]
list_2 = copy.copy(list_1)浅拷贝的另一种方式
list_1[2][1] = 'kk'
print(list_1,list_2,id(list_1[2]),id(list_2[2]))
[1, 2, ['a', 'kk', 'c'], 3]  [1, 2, ['a', 'kk', 'c'], 3] 4330513736 4330513736

这里写图片描述

2.深拷贝:

  深拷贝会完全复制原变量的所有数据,在内存中生成一套完全一样的内容,我们对这两个变量中的一个进行任意修改都不会影响另一个变量。
  

import copy
list_1 = [1,2,['a','b','c'],3]
list_2 = copy.deepcopy(list_1)
list_1[2][1] = 'kk'
print(list_1,list_2,list_1[2],list_2[2])
[1, 2, ['a', 'kk', 'c'], 3]  [1, 2, ['a', 'b', 'c'], 3] 4330513736 4330512584

猜你喜欢

转载自blog.csdn.net/u014744127/article/details/78085359