1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| import copy
# 원본 리스트 (중첩)
original = [[1, 2], [3, 4]]
# 할당 - 같은 객체
assigned = original
assigned[0][0] = 99
print(original) # [[99, 2], [3, 4]] - 원본도 변경됨!
# 얕은 복사 - 새 리스트, 내부 객체는 공유
original = [[1, 2], [3, 4]]
shallow = copy.copy(original)
shallow[0][0] = 99
print(original) # [[99, 2], [3, 4]] - 내부 객체는 공유되므로 원본도 변경!
shallow.append([5, 6])
print(original) # [[99, 2], [3, 4]] - 최상위 리스트는 독립
# 깊은 복사 - 완전히 독립
original = [[1, 2], [3, 4]]
deep = copy.deepcopy(original)
deep[0][0] = 99
print(original) # [[1, 2], [3, 4]] - 원본 유지!
|