深浅拷贝

浅拷贝:  只拷贝第一层元素     计算机在找值得过程
深拷贝 不可变数据类型共用一个内容,可变数据类型重新开辟空间存放内容
import copy模块

浅拷贝

import copy
li = [1,2,3,4]
lst = li.copy()
print(li)
print(lst)

print(id(li))   # 34512776
print(id(lst))  # 34512840

li[0] = 56
print(li)   # 变
print(lst)  # 不变
print(id(li[0]))  # 1548382960
print(id(lst[0])) # 1548381200

print(id(li[1])) # 1548381232
print(id(lst[1])) # 1548381232
 

 

 

深拷贝

import copy
li = [1,2,3,4,[5,6,7]]
lst = copy.deepcopy(li)   # 深拷贝
# 浅拷贝只拷贝第一层元素,元素是不可变的,就不会变 元素是可变的俩个同时变
print(li)
print(lst)
print(id(li))      # 40289984
print(id(lst))     # 40305368

li[-1].append(90)
print(li)   # 变
print(lst)  # 不变
#
print(id(li[-1]))  #38783856
print(id(lst[-1])) #38798000

 

posted on 2019-01-06 16:44  🐳️南栀倾寒🐳️  阅读(112)  评论(0编辑  收藏  举报

导航