深浅拷贝

示例

1 s=[1,'xing','yu']
2 
3 s2=s.copy()             #拷贝函数
4 print(s2)               #[1, 'xing', 'yu']
5 s2[0]=3             
6 print(s2)               #[3, 'xing', 'yu']
7 print(s)                #[1, 'xing', 'yu'] 

浅拷贝

浅拷贝只会拷贝第一层

s = [[1,2], 'xing', 'yu']    #s[0]存的是列表[1,2]的指针值 若修改了列表d[0][1]的值 那么会影响到源数据
s3=s.copy()                  #总的来说 copy只会copy第一层
print(s3)

s3[0][1]=3
print(s3)
print(s)

深拷贝 关键词dir.deepcopy()

1 import copy
2 s = [[1,2], 'xing', 'yu']     #对原数据完整克隆
3 s2=copy.deepcopy(s)           #新深copy的数据怎么操作都不会对原数据造成影响
4 s2[0][1]=100
5 
6 print(s)
7 print(s2)
原文地址:https://www.cnblogs.com/cindy7/p/10927973.html