python开发之路---第二天笔记
深浅copy
浅拷贝是指把存放变量的地址值传给被赋值,最后两个变量引用了同一份地址
l1 = [1,2,3,[11,22,33]]
l2 = l1.copy()
print(l2) #[1,2,3,[11,22,33]]
l2[3][2]='aaa'
print(l1) #[1, 2, 3, [11, 22, 'aaa']]
print(l2) #[1, 2, 3, [11, 22, 'aaa']]
l1[0]= 0
print(l1) #[0, 2, 3, [11, 22, 'aaa']]
print(l2) #[1, 2, 3, [11, 22, 'aaa']]
print(id(l1)==id(l2)) #Flase
深拷贝是指被赋值的变量开辟了另一块地址用来存放要赋值的变量的值(内容)。在python中引用copy模块,copy模块中有deepcopy()方法,调用它完成变量的深copy
import copy
l1 = [1, 2, 3, [11, 22, 33]]# l2 = copy.copy(l1) 浅拷贝l2 = copy.deepcopy(l1)print(l1,'>>>',l2)l2[3][0] = 1111print(l1,">>>",l2)
浙公网安备 33010602011771号