Python拷貝(深拷貝deepcopy與淺拷貝copy)


Python中的對象之間賦值時是按引用傳遞的,如果需要拷貝對象,需要使用標准庫中的copy模塊。

1、copy.copy 淺拷貝 只拷貝父對象,不會拷貝對象的內部的子對象。

2、copy.deepcopy 深拷貝 拷貝對象及其子對象

 

>>> import copy
>>> a = [1,2,3,4,['a','b']]  #原始對象

>>> b = a #賦值,傳對象的引用
>>> c = copy.copy(a)
>>> d = copy.deepcopy(a)
>>> a.append(5) >>> a[4].append('c')
>>> print 'a=',a a= [1, 2, 3, 4, ['a', 'b', 'c'], 5] >>> print 'b=',b b= [1, 2, 3, 4, ['a', 'b', 'c'], 5] >>> print 'c=',c c= [1, 2, 3, 4, ['a', 'b', 'c']] >>> print 'd=',d d= [1, 2, 3, 4, ['a', 'b']]

 


免責聲明!

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



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