列表中的Copy與DeepCopy

import copy
originalList = ['a','b',[1,2]]
passingList = originalList
print('OriginalList:')
print(originalList)
copyList = copy.copy(originalList)
deepcopyList = copy.deepcopy(originalList)
print('__________________________________________')
originalList.append('addnewInOriginal')
originalList[2].append("addnewInSubList")
print('PassingList:')
print(passingList)
print('copyList:')
print(copyList)
print('DeepCopyList:')
print(deepcopyList)
print('OriginalList')
print(originalList) 
運行結果:
OriginalList:
['a', 'b', [1, 2]]
__________________________________________
PassingList:
['a', 'b', [1, 2, 'addnewInSubList'], 'addnewInOriginal']
copyList:
['a', 'b', [1, 2, 'addnewInSubList']]
DeepCopyList:
['a', 'b', [1, 2]]
OriginalList
['a', 'b', [1, 2, 'addnewInSubList'], 'addnewInOriginal']

着眼點在於:對原有鏈表的保護程度。DeepCopy保護程度最高,copy次之,不能保護列表中的子列表。

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