Python——列表深浅拷贝

文中对深浅拷贝讲的比较细。自己做下整理。

 

浅拷贝就是对引用的拷贝,只拷贝父对象,里面的数据不拷贝出来,其中的数据与原对象里面数据用的是相同的地址空间。

深拷贝就是对对象的资源的拷贝,拷贝父对象以及里面的子对象。深拷贝,重新开申请一块内存,与原来的地址不一样,重新定义一个变量,跟原对象一点关系也没有。

python中,深拷贝和浅拷贝仅仅是在内存当中对数据的一个应用。

深浅拷贝,可以通过查看变量的内存地址来判断。print(id(L))  打印L的内存地址

import copy

a = [2,3,4,5]
a3 = a  #浅拷贝,内存地址不变
a4 = copy.deepcopy(a) #深拷贝
print(id(a))
print(id(a3))
print(id(a4))

结果:
2544338106696
2544338106696
2544338104968

 

python 数组 深拷贝 python list 深拷贝_内存地址