list, dict, set对象均有方法.copy()
深复制:当列表中、字典中、set中的元素为不可迭代对象时(非列表、字典、集合)
list.copy() dict.copy() set.copy() 为深复制,复制的副本不影响原来的
如
a= [1,2,3]
b= a.copy()
b[0]=3
print(a,b) # [1, 2, 3] [3, 2, 3]
浅复制:当列表中、字典中、set中的元素为可迭代对象时(列表、字典、集合)
a= [[1,2,3]]
b= a.copy()
b[0][0]=3
print(a,b) # [[3, 2, 3]] [[3, 2, 3]] 此时a=b, b 发生变化,a也改变了,属于浅复制
真正的深复制
import copy
import copy
a= [[1,2,3]]
b= copy.deepcopy(a)
b[0][0]=3
print(a,b) # [[1, 2, 3]] [[3, 2, 3]]