深浅拷贝

示例

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)

 

posted @ 2019-05-26 22:13  再也不会见  阅读(110)  评论(0)    收藏  举报