1. 程式人生 > >深拷貝與淺拷貝 python

深拷貝與淺拷貝 python

傳送門

 

import copy
 
# copy 和 deepcopy 的區別
 
l1 = [1, 2, 3, ['a', 'b']]
# copy 淺複製,不會拷貝其子物件,修改子物件,將受影響
l2 = copy.copy(l1)
 
# deepcopy 深複製,將拷貝其子物件,修改子物件,將不受影響
l3 = copy.deepcopy(l1)
 
l1[3].append('c')
 
print 'l1:', l1
print 'l2:', l2
print 'l3:', l3

 

輸出:
l1: [1, 2, 3, ['a', 'b', 'c']]
l2: [1, 2, 3, ['a', 'b', 'c']]
l3: [1, 2, 3, ['a', 'b']]