728x90
반응형
전부 0으로 초기화된 2차원 배열을 만들어보자.
list comprehension 을 이용하면 처음에 전부 0으로 채워진 2차원 배열을 다음과같이 선언 가능하다
n = 4
arr_2d = [
[0 for _ in range(n)]
for _ in range(n)
]
print(arr_2d)
>> 출력 결과
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
n*n 이 아닌 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]]
연습삼아 문제를 풀어보았다
입력:
4 3
출력:
1 2 3
4 5 6
7 8 9
10 11 12
코드는 다음과 같이 작성했다.
n= input().split()
n[0]=int(n[0])
n[1]=int(n[1])
arr_2d =[[0 for col in range(n[1])]for row in range(n[0])] #2차원 리스트 만들기
num =1
for i in range(n[0]):
for j in range(n[1]):
arr_2d[i][j] = num
num+=1
for row in arr_2d:
for elem in row:
print(elem, end=" ")
print()
참고 : CODE TREE
728x90
반응형