深浅拷贝 copy
浅拷贝:只拷贝最浅的一层数据,不会兑嵌套数据进行拷贝。
深拷贝:复制整的一个数据,产生不同的内存地址,完全独立的数据
列表里面的是内存地址
当列表1 等于 列表2 #非拷贝
改列表1就相当于改列表2 ,因为列表中指向的是一个内存地址。
id(list)查看内存地址
默认为浅拷贝:只复制最上面一层的内存地址,更深层次的不会进行复制
list1=list2.copy()
深拷贝:每一层都会进行复制,且会生成不同的内存地址:
list3=copy.deepcopy(list1)
调用方式 :
import copy list1=['name' ,'age' ,[1,2]] list3=list1.copy list2=copy.deepcopy(list1)
查看内存地址:
print(id(list2)) print(id(list1))