파이썬 2차원 배열 초기화시 주의할점
파이썬에서 2차원 배열을 초기화할 때 a=[0]*3 a[1]=1 print(a) # [0,1,0] 다음과 같이 당연해 보이지만 2차원 배열의 경우 a=[[0]*3]*3 a[1][1]=1 print(a) # [[0, 1, 0], [0, 1, 0], [0, 1, 0]] 한 행을 객체로 인식하기 때문에 모든 행을 같은 객체로 바꿔버린다. a=[[0]*3 for _ in range(3)] print(a) # [[0, 0, 0], [0, 0, 0], [0, 0, 0]] a[1][1]=1 print(a) # [[0, 0, 0], [0, 1, 0], [0, 0, 0]] 다음과 같이 초기화해야 원하는 값만 변경할 수 있다. a=[[0]*3]*3 a[1][1]=1 print(a) # [[0, 1, 0], [0, 1, 0..