深浅拷贝

 

 1、浅拷贝

 

 2、深拷贝

 

 

3、深浅拷贝对比图,附验证代码

import copy

l = [1,2,[1,2]]
l1 = l
print(id(l),id(l1))   # 39151368 39151368

l1 = copy.copy(l)  # 拷贝一份 .......  浅拷贝
print(id(l),id(l1))  # 39151368 39152648

l[0] = 222
print(l,l1)  # [222, 2, [1, 2]] [1, 2, [1, 2]]

l[2].append(666)
print(l,l1)  # [222, 2, [1, 2, 666]] [1, 2, [1, 2, 666]]

l1 = copy.deepcopy(l)
l[2].append(666)
print(l,l1)  # [222, 2, [1, 2, 666, 666]] [222, 2, [1, 2, 666]]

 

# 浅拷贝 内列表数据指向同一个空间,
# 深拷贝,内列表也同样copy一份,与拷贝前数据相互独立,各自指向独立空间
posted @ 2019-07-19 19:21  小王八+1  阅读(99)  评论(0)    收藏  举报