Python中淺拷貝copy與深拷貝deepcopy的簡單理解
更新時間:2018年10月26日 14:02:51 作者:pygodnet
今天小編就為大家分享一篇關(guān)于Python中淺拷貝copy與深拷貝deepcopy的簡單理解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
以下是個人對Python深淺拷貝的通俗解釋,易于繞開復(fù)雜的Python數(shù)據(jù)結(jié)構(gòu)存儲來進行理解!
- 高級語言中變量是對內(nèi)存及其地址的抽象,Python的一切變量都是對象。
- 變量的存儲采用了引用語義的方式,存儲的只是一個變量的值所對應(yīng)的地址信息。
- 變量的每一次初始化(賦值),即將新的內(nèi)容的地址賦給變量。
- 復(fù)雜數(shù)據(jù)結(jié)構(gòu)存儲的是各個元素的值得存儲位置。
- 進行增刪改等操作時不改變數(shù)據(jù)本身的id,改變的各個元素的地址引用。
- 改變?nèi)魏我粋€擁有相同id的變量時,其他相同id的變量也會相應(yīng)改變。
- copy.copy(object),拷貝的是內(nèi)嵌套結(jié)構(gòu)的地址引用,當內(nèi)嵌套結(jié)構(gòu)發(fā)生變化時,淺拷貝相應(yīng)的改變。
- copy.deepcopy(object),完全復(fù)制與變量相關(guān)的數(shù)據(jù)!跟別的操作不再有關(guān)系!
實例:
import copy li = [4,5] lts = [1,2,3,li] lt_copy= copy.copy(lts) lt_deepcopy = copy.deepcopy(lts) lts.append(6) lt_copy.append(7) print(lts,lt_copy) #輸出[1, 2, 3, [4, 5], 6] [1, 2, 3, [4, 5], 7] li.append(8) #內(nèi)部表格li插入 print(lts,lt_copy,lt_deepcopy) #輸出[1, 2, 3, [4, 5, 8], 6] [1, 2, 3, [4, 5, 8], 7] [1, 2, 3, [4, 5]] #可以看到當對li操作時,lt_deepcopy不受影響!
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
您可能感興趣的文章:
- python中淺復(fù)制copy與深復(fù)制deepcopy
- 圖解Python中淺拷貝copy()和深拷貝deepcopy()的區(qū)別
- Python?copy()與deepcopy()方法之間有什么區(qū)別
- python中l(wèi)ist列表復(fù)制的幾種方法(賦值、切片、copy(),deepcopy())
- Python 中的 copy()和deepcopy()
- Python-copy()與deepcopy()區(qū)別詳解
- python中copy()與deepcopy()的區(qū)別小結(jié)
- 淺談python中copy和deepcopy中的區(qū)別
- Python 拷貝對象(深拷貝deepcopy與淺拷貝copy)
- python中copy和deepcopy的使用區(qū)別
相關(guān)文章
Python中利用mpld3創(chuàng)建交互式Matplotlib圖表的代碼示例
mpld3 是一個 Python 庫,它將 Matplotlib 圖表轉(zhuǎn)換為 D3.js(JavaScript 繪圖庫)可解釋的格式,從而實現(xiàn)了在瀏覽器中顯示并交互的功能,在本文中,我們將介紹如何使用 mpld3 在 Python 中創(chuàng)建交互式 Matplotlib 圖表,并提供代碼示例,需要的朋友可以參考下2024-05-05python Selenium等待元素出現(xiàn)的具體方法
在本篇文章里小編給大家分享的是一篇關(guān)于python Selenium等待元素出現(xiàn)的具體方法,以后需要的朋友們可以學(xué)習(xí)參考下。2021-08-08Python編程實現(xiàn)微信企業(yè)號文本消息推送功能示例
這篇文章主要介紹了Python編程實現(xiàn)微信企業(yè)號文本消息推送功能,結(jié)合實例形式分析了Python微信企業(yè)號文本消息推送接口的調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2017-08-08