파이썬 다차원 배열 복사 시 주의사항
다차원 배열의 얕은 복사 >>> a = [[1,2],[3,4]] >>> b = a[:] >>> a [[1, 2], [3, 4]] >>> b [[1, 2], [3, 4]] >>> a[1][1] = 9 >>> a [[1, 2], [3, 9]] >>> b [[1, 2], [3, 9]] 위 케이스처럼 배열을 복사하면 얕은 복사가 일어난다. 문제는 리스트안에 mutable한 변수(List와 Dict같은)이 있으면 주소값이 복사되어버린다! 그래서 코드 후반부 처럼 값을 변경하면 다른값도 전부 변경되어 버린다. a = b[:] a = b.copy() 전부 얕은복사이다. Mutable 데이터 타입 사용자 정의 객체 list dictionary set Immutable 데이터 타입 int float decimal boo..
2022. 12. 15.