Python
[Python] 예제 코드로 보는 배열 복사(array copy)
KEMON
2020. 4. 25. 06:02
728x90
1. 옅은 복사
a=[1,2,3]
b=a #옅은 복사
print(b) #결과 : [1,2,3]
a.append(4)
print(b) #결과 : [1,2,3,4]
일반 대입방식으로 배열을 선언한다면 옅은 복사가 이루어진다.
위의 경우 b = a 로 b의 배열을 생성하지만 a가 변하면 b의 값도 변한다!!
하지만 대부분이 저렇게 변하지 않게 생성을 원한다.
그럴 경우, 깊은 복사를 해야한다
2.깊은 복사
import copy
a=[1,2,3]
b=copy.deepcopy(a) #깊은 복사
a.append(4)
print(a) #결과 : [1,2,3,4]
print(b) #결과 : [1,2,3]
copy.deepcopy를 사용하면 a 배열이 변해도 b 배열이 변하지 않는다.
여러분이 원하는 복사가 바로 이것!!
728x90