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