浅拷贝: 只拷贝第一层元素 计算机在找值得过程深拷贝 不可变数据类型共用一个内容,可变数据类型重新开辟空间存放内容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])) # 1548382960print(id(lst[0])) # 1548381200print(id(li[1])) # 1548381232print(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
来源:https://www.cnblogs.com/yanranran/p/10229349.html