a = [[0] * 2] * 3
b = [[0] * 2 for _ in range(3)]
a[0][0] = 1
b[0][0] = 1
print(a)
print(b)
# 출력
[[1, 0], [1, 0], [1, 0]]
[[1, 0], [0, 0], [0, 0]]
[ [0] * n for _ in range(m) ]
[ [0] n ] m
2번은 배열 안에 배열들을 선언하는 게 아니라 각각 배열들을 선언한다.
1번은 배열 안에 2차원 배열을 선언한다.
따라서 2번처럼 선언하고 2차원배열에 값을 넣으면 2차원 좌표가 아니라 모든 배열에 동시에 같은 값을 넣게 된다.