import copy
"""
普通赋值 list2 = list2 是引用传递,两者指向同一个空间
浅拷贝:开辟一块新空间存储,但嵌套情况下,依然是引用传递
"""
# 普通赋值
list1 = [1, 2, 3]
print(list1)
# 没有嵌套的浅拷贝
list2 = copy.copy(list1)
list1[0] = 100
print(list1, list2)
print("------------")
#嵌套的浅拷贝
"""
浅拷贝只开辟一块新空间,list4是新空间,但是list4[0],list4[1]存放的是list1,list2的地址
"""
list3 = [list1, list2]
list4 = copy.copy(list3)
print(list3, list4)
list3[0][0] = 0
print(list3, list4)
print("------------")
#嵌套的深拷贝——最安全
list5 = [list1, list2]
list6 = copy.deepcopy(list5)
print(list5, list6)
list3[0][0] = 100
print(list5, list6)
2.数据库-深拷贝浅拷贝
最新推荐文章于 2023-03-16 17:57:39 发布