python 深拷贝浅拷贝

Posted pooopun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 深拷贝浅拷贝相关的知识,希望对你有一定的参考价值。

深拷贝:

例1:

import copy

a = [1,2,3]

c = copy.deepcopy(a)

例2:

a = [11,22,33]

b = [44,55,66]

c = [a,b]

d = copy.deepcopy(c)

例3:

a = [1,2]

b = [3,4]

c = [a,b]

d = copy.copy(c)

注意:使用copy模块的copy功能时,他会根据当前拷贝的数据类型是否为可变类型有不同的处理方式

此时d是[a的引用,b的引用] copy只拷贝第一层

此时深拷贝d里面是[[11,22,33],[44,55,66]]

深拷贝是递归拷贝

浅拷贝:例

(把a变量的指向的地址给过去)

a = [1,2,3]

b = a

 

以上是关于python 深拷贝浅拷贝的主要内容,如果未能解决你的问题,请参考以下文章

python的深拷贝和浅拷贝

Python深复制浅复制or深拷贝浅拷贝

python深拷贝和浅拷贝的区别

python之浅拷贝深拷贝

Python中的赋值,浅拷贝和深拷贝的区别

NumPy之浅拷贝和深拷贝