⁕ 전부 0으로 초기화된 2차원 배열을 선언하는 방법
# 4 * 5 격자
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
>> 2차원 배열 선언 결과
arr_2d = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
arr_2d = []
for _ in range(4):
arr_2d.append([0] * 5) # arr_2d.append([0, 0, 0, 0, 0])
list comprehension
사용arr_2d = [
[0] * 5
for _ in range(4)
]
⁕ n * n
크기의 격자가 전부 0으로 채워져 있는 2차원 배열
n = 4
arr_2d = [
[0 for _ in range(n)] # arr_2d에 append하는 값
for _ in range(n) # for문
]
print(arr_2d)
>> 출력 결과
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
⁕ n * m
크기의 격자의 경우
n, m = 4, 5
arr_2d = [
[0 for _ in range(m)]
for _ in range(n)
]
print(arr_2d)
>> 출력 결과
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
⁕ 2차원 배열을 출력할 경우 : 중첩 반복문(range함수
)
n = 4
arr_2d = [[1, 2, 3, 4], [7, 8, 9, 10], [11, 12, 13, 14], [15, 16, 17, 18]]
for i in range(n):
for j in range(n):
print(arr_2d[i][j], end=" ")
print()
⁕ range함수 없이 리스트내 각 원소를 바로 접근하는 방법
n = 4
arr_2d = [[1, 2, 3, 4], [7, 8, 9, 10], [11, 12, 13, 14], [15, 16, 17, 18]]
for row in arr_2d:
for elem in row:
print(elem, end=" ")
print()
⁕ n * n
크기의 격자에 특정 규칙에 맞춰 출력하는 방법
# 입력
n = 3
# 출력
1 3 5
7 9 11
13 15 17
# 0으로 초기화된 배열 선언
n = 3
arr_2d = [
[0 for _ in range(n)]
for _ in range(n)
]
# 숫자를 2씩 증가
num = 1
for i in range(n):
for j in range(n):
arr_2d[i][j] = num
num += 2
# 출력
for row in arr_2d:
for elem in row:
print(elem, end=" ")
print()
1 3 5
7 9 11
13 15 17