[python] 2차원 배열 생성 시 * 과 for 사용의 차이
리스트에서 *를 사용하면 요소 시퀀스를 반복한다.[0] * 3 >> [0,0,0][0,1] * 3>> [0,3,0,3,0,3]2차원배열을 만들 때, 주의할 점이 있다.# *를 사용한 2차원배열 생성[[0] * 3]* 2>> [[0,0,0],[0,0,0]]# for를 사용한 2차원 배열 생성[[0]*3 for _ in range(2)]>> [[0,0,0],[0,0,0]]두 가지 방법 모두 결과물이 똑같아 보이지만 다르다.*을 사용한 방식은 반복 횟수만큼 같은 [0]*3 의 참조가 늘어나는 것이고for를 사용한 방식은 반복 횟수만큼 새로운 [0]*3을 만들어 넣는 것과 같다.그래서 *를 사용한 방식은 모든 행이 같은 객체를 참조하고 있어서 한 행의 원소를 바꾸면 모든 행의 원소가 바뀐다.2차원 배열을 생성할..