淺拷貝
只拷貝最外層對象, 不拷貝其內部對象
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']]