[ [0] * n ] * m 과 [ [0] * n for _ in range(m) ] 의 차이

아현·2021년 9월 5일
0

Python

목록 보기
4/8

참고




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]]




  1. [ [0] * n for _ in range(m) ]

  2. [ [0] n ] m

2번은 배열 안에 배열들을 선언하는 게 아니라 각각 배열들을 선언한다.

1번은 배열 안에 2차원 배열을 선언한다.

따라서 2번처럼 선언하고 2차원배열에 값을 넣으면 2차원 좌표가 아니라 모든 배열에 동시에 같은 값을 넣게 된다.

profile
For the sake of someone who studies computer science

0개의 댓글