immutable
-
[파이썬🐍] 얕은 복사 vs 깊은 복사프로그래밍/Python 2022. 7. 27. 17:06
얕은 복사 VS 깊은 복사 코딩테스트 문제를 풀던 도중 문제가 발생했다. for i in range(len(nums)): n = nums n.pop(i) result.append(math.prod(n)) 나의 의도는 n이 매번 '온전한' nums를 할당받는 것! 그런데 인덱스 에러가 발생했다? # 프린트를 찍어봄 nums: [2, 3, 4] n: [2, 3, 4] nums: [2, 4] n: [2, 4] 오잉? 이럴수가! nums는 왜 변하는가 nums는 건드리지도 않았는데 말이지 그 이유는 '얕은 복사'를 했기 때문이었다. 얕은 복사란 무엇인가? 그걸 알기 위해선 먼저 mutable과 immutable의 개념부터 알아야 한다. 1. Mutable과 Immutable Mutable : 변경이 가능한 객체..