python中copy與deepcopy的區別


區別

  • 高級語言中變量是對內存及其地址的抽象
  • copy.copy(object), 拷貝的是內嵌套結構的地址引用,當前到結構發生變化的時候,淺拷貝也相應的改變。
  • copy.deepcopy(object),完全復制與變量相關的數據,而不再考慮嵌套結構

python代碼舉例

import copy
x = [1,2]
y = [3,2,x]
>>>y=[3,2,[1,2]]
z = copy.copy(y)
zz = copy.deepcopy(y)
y.append(10)
>>>y=[3,2,[1,2],10] 這里y增加了一個元素
>>>z=[3,2,[1,2]]但是z沒有
x.append(10)
>>>z=[3,2,[1,2,10]]z增加了一個元素
>>>zz=[3,2,[1,2]]但是deepcopy的z


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM