#賦值與淺複製一層列表
“””
a = [1, 2]
b = a #賦值
c = a.copy() #淺複製
a.append(3)
print(b) #父物件改變
print(c) #父物件不變
“`
[1, 2, 3]
[1, 2]
“`
“””
#賦值與淺複製二層列表
“””
a = [1,2,[1,2]]
b = a #賦值
c = a.copy() #淺複製
a[-1].append(3)
a.append(3)
print(b) #父物件該變 賦值
print(c) #父物件該變 淺複製
“`
[1, 2, [1, 2, 3], 3]
[1, 2, [1, 2, 3]]
“`
“””
#淺複製與深複製一層列表
“””
import copy
a = [1, 2]
b = copy.copy(a) #淺複製
c = copy.deepcopy(a) #深複製
a.append(3)
print(b) #父物件不變 淺複製
print(c) #父物件不變 深複製
“`
[1, 2]
[1, 2]
“`
“””
#淺複製與深複製二層列表
“””
a = [1,2,[1,2]]
b = copy.copy(a) #淺複製
c = copy.deepcopy(a) #深複製
a[-1].append(3)
print(b) #父物件該變 淺複製
print(c) #父物件不變 深複製
“`
[1, 2, [1, 2, 3]]
[1, 2, [1, 2]]
“`
“””
#一層列表中,賦值會改變父物件 ,淺複製和深複製不會改變父物件。
#二層列表中,賦值會改變父物件(內外都變),淺複製會改變內層父物件,深複製不會改變內層父物件。