Python 中的 ‘=’,copy,deepcopy

  1.  使用copy,deepcopy前添加import copy
  2. b=a,表示b爲a的引用。a,b任一個改變,另一個會改變
  3. c=copy.copy(a)  淺拷貝。a,c爲2個對象,但a中的子對象,在copy過後,在c中仍然是引用
  4. d=copy.deepcopy(a) 深拷貝。a,d爲2個對象,與copy不同的是,a或者d中子對象改變後 ,不影響對方的子對象

 

import copy
a = [1, 2, 3, 4, ['a', 'b']]
b = a #賦值,傳對象的引用
c = copy.copy(a) #對象拷貝,淺拷貝
d = copy.deepcopy(a) #對象拷貝,深拷貝
a.append(5) #修改對象a
a[4].append('c') #修改對象a中的['a', 'b']數組對象
print 'a = ', a
print 'b = ', b
print 'c = ', c
print 'd = ', d
輸出結果:
a = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c = [1, 2, 3, 4, ['a', 'b', 'c']]
d = [1, 2, 3, 4, ['a', 'b']]

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