深浅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)

 

posted on 2018-04-23 14:00  海深深_蓝  阅读(89)  评论(0编辑  收藏  举报

导航