Python知識點之深淺拷貝

淺拷貝

只拷貝最外層對象, 不拷貝其內部對象

list1 = [1, 2, 3, ['a', 'b']]
list2 = list1[:]
# import copy
# list2 = copy.copy(list1)

print(list2)
# [1, 2, 3, ['a', 'b']]

list1[0] = 10
print(list2)
# [1, 2, 3, ['a', 'b']]

list1[-1][0] = 'A'
print(list2)
# [1, 2, 3, ['A', 'b']]

深拷貝

拷貝對象及其子對象,修改list1,並不會改變list2

import copy

list1 = [1, 2, 3, ['a', 'b']]
list2 = copy.deepcopy(list1)

list1[0] = 10
print(list2)
# [1, 2, 3, ['a', 'b']]

list1[-1][0] = 'A'
print(list2)
# [1, 2, 3, ['a', 'b']]

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