python中copy与deepcopy的区别

区别

  • 高级语言中变量是对内存及其地址的抽象
  • copy.copy(object), 拷贝的是内嵌套结构的地址引用,当前到结构发生变化的时候,浅拷贝也相应的改变。
  • copy.deepcopy(object),完全复制与变量相关的数据,而不再考虑嵌套结构

python代码举例

import copy
x = [1,2]
y = [3,2,x]
>>>y=[3,2,[1,2]]
z = copy.copy(y)
zz = copy.deepcopy(y)
y.append(10)
>>>y=[3,2,[1,2],10] 这里y增加了一个元素
>>>z=[3,2,[1,2]]但是z没有
x.append(10)
>>>z=[3,2,[1,2,10]]z增加了一个元素
>>>zz=[3,2,[1,2]]但是deepcopy的z
posted @ 2020-05-17 05:40  忽逢桃林  阅读(1356)  评论(0编辑  收藏  举报