日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python安装copy_python中copy和deepcopy 的区别

發布時間:2023/12/10 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python安装copy_python中copy和deepcopy 的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

請簡述賦值, 深拷貝和淺拷貝的區別?(python中如何拷貝一個對象?)

直接賦值(li1 = li): 只傳遞對象的引用, li1指向對象li的內存地址空間,

因此, 原有列表li改變, 被賦值的li1也會做相應的改變.

淺拷貝:li和li2的內存地址不同,

但是子對象的內存地址相同, 因此,原始數據改變 , 子對象也改變.\

深拷貝(import copy, eg: li3=copy.deepcopy(li)), li和li3的內存地址不同,

包含子對象的拷貝, 所以原始對象改變并不會造成深拷貝里面任何子項的改變.

當深拷貝和淺拷貝, 針對的對象全部是不可變數據類型時, 兩者效果相同; 當深拷貝和淺拷貝, 針對的對象包含是可變數據類型時, 兩者才有上述區別;

#所有的數值類型和布爾類型, str是不可變數據類型,

#list是可變數據類型;

#淺拷貝的實現:

#- li.copy()

#- li[:]

#- copy.copy(li)

#實現深拷貝:

#- copy.deepcopy(li)

如果copy.copy)拷貝的是元組,那么它不會進行淺拷貝,僅僅是指向

因為元組是不可變數據類型,那么意味著數據一定不能修改,

因此copy.copy()

的時候它會自動判斷是指向

如果,用copy.copy() copy.deepcopy()對一個全部是不可變類型

的數據進行數據拷貝的時候,那么它們的結果相同,都是引用

如果拷貝的是一個擁有可變類型的數據,那么deepcopy依然是深拷貝,

copy是淺拷貝

檔一個變量==xx的時候,約定為:指向地址的過程

淺拷貝:copy.copy()

深拷貝:copy.deepcopy()

總結

以上是生活随笔為你收集整理的python安装copy_python中copy和deepcopy 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。