파이썬 2차원 배열 선언 이해하기 (깊은 복사 얕은 복사)
array = [[0] * 3 for _ in range(3)] array = [[0] * 3] * 3 위의 코드를 출력해보면 겉으로 보기엔 똑같습니다. 하지만 array[0][1] = 1을 넣고 출력해보면 결과가 다릅니다. 왜 이런 결과가 나오는지는 immutable 객체와 mutable 객체로 설명할 수 있는데, mutable - 변경 가능 객체 immutable - 변경 불가능 객체 mutable 객체에는 list,set,dictionary 정도가 있고 immutable 객체에는 int, float, tuple, str, bool 등이 있습니다. immutable 객체는 깊은 복사를 하고 mutable 객체는 얕은 복사를 합니다. array = [[0] * 3] * 3 array = [[0] * 3..