請描述一下淺拷貝(copy)和深拷貝(deepcopy)的區別,請用代碼舉例說明如何使用copy和deepcopy
'''
copy: 只複製深層對象的引用
deepcopy: 複製深層對象的本身
'''
import copy
a = [1, 2, 3, 4, ['a', 'b']]
b = copy.copy(a)
c = copy.deepcopy(a)
print(b)
print(c)
[1, 2, 3, 4, ['a', 'b']]
[1, 2, 3, 4, ['a', 'b']]
a.append(5)
print(a)
print(b)
print(c)
[1, 2, 3, 4, ['a', 'b'], 5]
[1, 2, 3, 4, ['a', 'b']]
[1, 2, 3, 4, ['a', 'b']]
a[4][0] = 'x'
print(a)
print(b)
print(c)
[1, 2, 3, 4, ['x', 'b'], 5]
[1, 2, 3, 4, ['x', 'b']]
[1, 2, 3, 4, ['a', 'b']]
58 - 編寫一個生產器,將一個二維列表轉換爲一維列表