python中deepcopy和copy區別

詳細請看:http://blog.csdn.net/qq_32907349/article/details/52190796

結論:

—–我們尋常意義的複製就是深複製,即將被複制對象完全再複製一遍作爲獨立的新個體單獨存在。所以改變原有被複制對象不會對已經複製出來的新對象產生影響。 
—–而淺複製並不會產生一個獨立的對象單獨存在,他只是將原有的數據塊打上一個新標籤,所以當其中一個標籤被改變的時候,數據塊就會發生變化,另一個標籤也會隨之改變。這就和我們尋常意義上的複製有所不同了。

對於簡單的 object,用 shallow copy 和 deep copy 沒區別

複雜的 object, 如 list 中套着 list 的情況,shallow copy 中的 子list,並未從原 object 真的「獨立」出來。也就是說,如果你改變原 object 的子 list 中的一個元素,你的 copy 就會跟着一起變。這跟我們直覺上對「複製」的理解不同。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章