python浅拷贝深拷贝
生活随笔
收集整理的這篇文章主要介紹了
python浅拷贝深拷贝
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
copy_list=list[:] ?得到的是淺拷貝,即只能頂層拷貝,里面的嵌套不會復制一份。
a = [0, [1, 2], 3] b = a[:] a[0] = 8 a[1][1] = 9?請問現在a和b分別是多少?
答案:是 a 為 [8, [1, 9], 3],b 為 [0, [1, 9], 3]。 b的第二個元素也被改了。想不通看下面:
?
?
深拷貝方法如下:
import copy a = [0, [1, 2], 3] b = copy.deepcopy(a) a[0] = 8 a[1][1] = 9?
?
int,float,long,str,tuple為不可變對象
list,set,dict為可變對象
不可變對象指的是值的不可變,所以它的每一次操作都會重建對象
打個比方:
a=1 a=2?這里雖然看上去a的值可以改變,但其實是創建了一個新的對象2,然后將a的標簽貼到這個2的對象上,原來那個1還在那里等待垃圾回收。
轉載于:https://www.cnblogs.com/gdjdsjh/p/4735325.html
總結
以上是生活随笔為你收集整理的python浅拷贝深拷贝的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在android模拟器中安装apk
- 下一篇: 在linux上处理base64加密和解密