Python中淺拷貝copy與深拷貝deepcopy的簡單理解
更新時間:2018年10月26日 14:02:51 作者:pygodnet
今天小編就為大家分享一篇關于Python中淺拷貝copy與深拷貝deepcopy的簡單理解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
以下是個人對Python深淺拷貝的通俗解釋,易于繞開復雜的Python數據結構存儲來進行理解!
- 高級語言中變量是對內存及其地址的抽象,Python的一切變量都是對象。
- 變量的存儲采用了引用語義的方式,存儲的只是一個變量的值所對應的地址信息。
- 變量的每一次初始化(賦值),即將新的內容的地址賦給變量。
- 復雜數據結構存儲的是各個元素的值得存儲位置。
- 進行增刪改等操作時不改變數據本身的id,改變的各個元素的地址引用。
- 改變任何一個擁有相同id的變量時,其他相同id的變量也會相應改變。
- copy.copy(object),拷貝的是內嵌套結構的地址引用,當內嵌套結構發(fā)生變化時,淺拷貝相應的改變。
- copy.deepcopy(object),完全復制與變量相關的數據!跟別的操作不再有關系!
實例:
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) #內部表格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不受影響!
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
您可能感興趣的文章:
- python中淺復制copy與深復制deepcopy
- 圖解Python中淺拷貝copy()和深拷貝deepcopy()的區(qū)別
- Python?copy()與deepcopy()方法之間有什么區(qū)別
- python中l(wèi)ist列表復制的幾種方法(賦值、切片、copy(),deepcopy())
- Python 中的 copy()和deepcopy()
- Python-copy()與deepcopy()區(qū)別詳解
- python中copy()與deepcopy()的區(qū)別小結
- 淺談python中copy和deepcopy中的區(qū)別
- Python 拷貝對象(深拷貝deepcopy與淺拷貝copy)
- python中copy和deepcopy的使用區(qū)別
相關文章
Python中利用mpld3創(chuàng)建交互式Matplotlib圖表的代碼示例
mpld3 是一個 Python 庫,它將 Matplotlib 圖表轉換為 D3.js(JavaScript 繪圖庫)可解釋的格式,從而實現了在瀏覽器中顯示并交互的功能,在本文中,我們將介紹如何使用 mpld3 在 Python 中創(chuàng)建交互式 Matplotlib 圖表,并提供代碼示例,需要的朋友可以參考下2024-05-05