深浅拷贝
浅拷贝
对于浅拷贝:
1
2
3 | lt = [ 1 , 2 , [ 3 , 4 ]] lt2 = lt.copy() |
像这样子的拷贝,lt2仅仅拷贝了前两个元素,对于第三个是可变的仅仅拷贝了地址,也就是说当,lt[2][x]改变的时候lt2[2][x]的元素也是会随着改变,说lt2[2][x]的地址和lt[2][x]的地址是一致的
在使用 import copy 进行导入 copy 这个库文件时:
1 | lt2 = copy.copy(lt) |
这样子的拷贝也是属于浅拷贝
深拷贝
关于深拷贝:
1
2
3 | lt = [ 1 , 2 , [ 3 , 4 ]] lt2 = deepcopy.copy() |
这样进行拷贝的话,就属于深拷贝,会将lt里面的所有内容都进行拷贝,这时lt2的地址和lt不同