深、淺拷貝deepcopy()和copy()
深拷貝和淺拷貝一開始真的讓人有點暈:但是看完這篇博文,應該就ok'了。
首先說‘=’:
‘=‘相當於賦值,b=a解釋成“變數b對變數a的一個引用”。所以他們都指向同一個地址:
所以地址內的值改變,所有的引用都會一起變
然後剩下分為兩種情況:
1、元素都是相同深度級別
比如列表[1,2,3,4]
copy淺拷貝:複製值,但是指向不同地址
deepcopy深拷貝:複製值,指向不同地址。
對於兩者:原始值的改變不引起拷貝的改變
元素有不同的深度:
先看最外層:值被複制,指向的地址都改變。改變原始變數值,深拷貝和淺拷貝最外層都不隨之改變。
再看內層:a[4]
copy淺拷貝拷貝了更深一級別元素的引用,所以被引用部分的元素改變會引起拷貝隨之改變。
而deepcopy深拷貝不管級別都只是拷貝元素的值本身。
相關文章
- 淺拷貝和深拷貝
- 深拷貝和淺拷貝
- java深克隆(深拷貝)和淺克隆(淺拷貝)Java
- iOS深拷貝和淺拷貝iOS
- js 深拷貝和淺拷貝JS
- JavaScript淺拷貝和深拷貝JavaScript
- Java深拷貝和淺拷貝Java
- 物件深拷貝和淺拷貝物件
- JavaScript深拷貝和淺拷貝JavaScript
- js 淺拷貝和深拷貝JS
- 淺探js深拷貝和淺拷貝JS
- 深拷貝和淺拷貝 copy與strong修飾變數的區別變數
- go slice深拷貝和淺拷貝Go
- js之淺拷貝和深拷貝JS
- ECMAScript-淺拷貝和深拷貝
- C++淺拷貝和深拷貝C++
- 深度解析深拷貝和淺拷貝
- JavaScript之深拷貝和淺拷貝JavaScript
- js的深拷貝和淺拷貝JS
- 聊聊物件深拷貝和淺拷貝物件
- 淺拷貝&深拷貝
- python 指標拷貝,淺拷貝和深拷貝Python指標
- 淺談Java中的淺拷貝和深拷貝Java
- js實現深拷貝和淺拷貝JS
- VUE 中 的深拷貝和淺拷貝Vue
- 對淺拷貝和深拷貝的理解
- 淺談深拷貝與淺拷貝?深拷貝幾種方法。
- 淺拷貝與深拷貝
- Javascript知識點:淺拷貝和深拷貝JavaScript
- javaScript深拷貝和淺拷貝簡單梳理JavaScript
- 【Python】直接賦值,深拷貝和淺拷貝Python賦值
- Python擴充套件_淺拷貝和深拷貝Python套件
- js 陣列的淺拷貝和深拷貝JS陣列
- [JS系列二]談談深拷貝和淺拷貝,如何實現深拷貝JS
- JS深拷貝與淺拷貝JS
- python深拷貝與淺拷貝Python
- Python淺拷貝與深拷貝Python
- javascript 淺拷貝VS深拷貝JavaScript