深浅copy

Posted chris3201

tags:

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

##浅copy
a = 1
b = a   #把b指向a的值,1.一个独立的内存地址。
print(id(a),id(b))
names =  [alex,luffy,egon,rjx,123,234,345,abc]
n1 = names #相当于把n1指向了这个list的内存地址,而不是里面的值,因为list包含了里面的值
names[0]=Alex #n1会同时更改。浅拷贝的是list的内存地址。
print(names)
print(id(names),id(n1[0]))
n = [alex,luffy,egon,rjx,123,234,345,abc,[chris,22]]
print(n)
n2 = n.copy()  #对列表里面的嵌套的列表没有,因为是同样的指定了嵌套的列表的内存地址,而不是里面值
print(n2)
n[0]=Chris
print(id(n),id(n2))
print(n,n2)
###深copy
import copy #导入copy模块
n4 = copy.deepcopy(n)
print(n4)

 

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

小数据池 深浅copy 集合

python集合深浅copy

python 06 id is == set 深浅copy

Python深浅copy

Python之深浅copy

python之数据类型补充集合深浅copy