728x90
2차원 배열
1. 행 3, 열 4이고 모든 값이 0인 2차원 그래프
n, m = 3, 4
graph = [ [0] * m for _ in range(n) ]
print(graph)
결과)
[[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
높이 3의 길이 4인 그래프가 완성됩니다.
x, y 값이 3, 4이므로 n, m = x, y라 하면 y를 안쪽에 x를 바깥쪽에 입력해 줍니다.
graph = [ [0]* y for _ in range(x) ]
2. 3행 4열의 값을 입력 받는 경우
n, m = 3, 4
graph = [ list(map(int, input().split())) for _ in range(n) ]
3차원 그래프
graph[a][b][c]의 값을 찾아야 하는 경우
높이 2, 세로 3, 가로 4인 경우 : (높이, 행, 열 순서입니다.)
h, n, m = 2, 3, 4
graph = [[ [0] * m for _ in range(n)] for _ in range(h)]
print(graph)
결과)
[
[[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]],
[[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
]
1차원으로 보이지만 3차원입니다. 3행 4열의 그래프가 2층으로 쌓여있는 것을 표현해 줍니다.
3차원 그래프를 표현할때 z, x, y로 쓴다면 다음과 같이 graph = [[ [0] *y for _ in range(x) ] for _ in range(z) ] 로 표현합니다. 높이인 z가 가장 바깥에 그 다음 가운데에 세로길이 x, 가로길이 y가 가장 앞에 위치합니다.
z, x, y를 거꾸로 뒤집어서 그래프에선 y, x, z 순서대로 쓰는것입니다.
"높이, 행, 열" 로 표현되어 있는 좌표를 "열, 행, 높이" 순서로 작성합니다.
728x90
'[Python]' 카테고리의 다른 글
[Python] .reverse()함수와 reversed()함수의 차이 (0) | 2022.07.18 |
---|---|
[Python] math모듈과 ceil함수, floor함수 (0) | 2022.07.17 |
[Python] insert연산 (0) | 2022.07.13 |
[Python] deque를 사용한 1차원 리스트 회전하기 - rotate() (0) | 2022.07.11 |
[Python] 파이썬 PS를 위한 문법 정리 - 2차원 리스트 회전 (0) | 2022.07.11 |