2차원 배열 선언 하기
rows = 10
cols = 5
arr = [[0 for j in range(cols)] for i in range(rows)]
틀린 방법
rows = 10
cols = 5
arr = [[0] * cols] * rows
Python에서는 * 연산자를 이용해 배열을 선언하게 되면, 얕은 복사(shallow copy)가 진행된다.
즉, 배열 내의 요소들이 같은 객체를 가리키게 되는 것이다.
따라서, 이 방식으로 2차원 배열을 선언하고 요소를 변경하게 되면 다른 요소들의 값도 같이 바뀌는 것이다.
[Python] 2차원 배열 선언하기
Python에서의 1차원 배열 선언 Python에서 1차원 배열을 선언할 때는 다음과 같이 * 연산자를 이용해 간단하게 선언할 수 있다. [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 같은 방식으로 2차원 배열 선언 하지만, 2차원
velog.io
'Python' 카테고리의 다른 글
[알고리즘] DFS, BFS 알고리즘 (0) | 2024.07.12 |
---|---|
[알고리즘] 구현 - 시뮬레이션, 완전탐색 (0) | 2024.07.02 |
[알고리즘] 그리디 알고리즘 (0) | 2024.06.29 |
댓글