二十、浅拷贝和深拷贝
浅拷贝和深拷贝(只针对可变类型)
可变类型:列表/字典/集合,特征:值变id不变
最基本拷贝
特征:值变id不变
list = [1,2,3,4]
list2 = list
list 内的元素发生变化 list也会发生变化
list.append(5)
print(list,list2)
浅拷贝 copy
'''如果list3 是list的浅拷贝对象,list内的不可变对象发生改变,则list3不变
,如果list内的可变对象改变,则list3的随着改变'''
import copy
list = [1,2,3,[4,5,6]]
list3=copy.copy(list)
print(list3)
list[0] += 1
list[3].append(8)
print(list)
print(list3)
深拷贝
'''如果lis2 是lis的浅拷贝对象,lis内的不可变对象发生改变,则lis2不变
,如果lis内的可变对象改变,则lis也不改变'''
import copy
lis= [1,2,3,4,[5,6,7]]
lis2=copy.deepcopy(lis)
lis[0]+=1
print(lis)
print(lis2)
lis[4].append(9)
print(lis)
print(lis2)