list 浅拷贝,直接赋值形式,修改其中一个list值,两个 list 数据都会变化
list1 = [1, 2, 3, 4]
list2 = list1
print('list1 ', list1) # list1 [1, 2, 3, 4]
print('list2 ', list2) # list2 [1, 2, 3, 4]
del list2[0]
print('list1 ', list1) # list1 [2, 3, 4]
print('list2 ', list2) # list2 [2, 3, 4]
使用 copy.deepcopy() 实现深拷贝,修改一个 list 数据,其他 list 数据不变
import copy
list3 = [5, 6, 7, 8]
list4 = copy.deepcopy(list3)
print('list3 ', list3) # list3 [5, 6, 7, 8]
print('list4 ', list4) # list4 [5, 6, 7, 8]
del list4[0]
print('list3 ', list3) # list3 [5, 6, 7, 8]
print('list4 ', list4) # list4 [6, 7, 8]