Python/[개념 및 문법]
[python] 2차원 리스트 사용하기
hyunnn_00
2023. 7. 17. 13:44
리스트 2개를 사용하면 2차원 리스트가 된다.
행과 열 개념이라고 생각하면 된다.
2차원 리스트를 생성해보자
a = [[10, 20],[30, 40],[50, 60]]
a에 있는 원소를 출력하려면
for i in a:
for j in i:
print(j)
-------------------------------------------
10
20
30
40
50
60
2개의 리스트를 사용하기 때문에 2개의 for문이 필요하다.
파이썬에서는 이렇게 간략하게 원소 출력도 가능하다.
for x, y in a:
print(x, y)
----------------------------------------------------------
10 20
30 40
50 60
이번엔 for문을 이용해서 비어있는 2차원 리스트를 만들어보자.
a = []
for i in range(3):
line = []
for j in range(2):
line.append(0)
a.append(line)
print(a)
---------------------------------------------------
[[0, 0], [0, 0], [0, 0]]
값이 들어 있는 리스트가 아닌 값이 비어 있는 리스트가 생성되었다.
for문의 i를 통해 비어있는 리스트를 3개를 생성한 후
for문의 j와 append 함수를 통해 그 안에 원소 0을 두 번 추가하였다.
리스트 컴프리헨션을 이용하면
a = [[0 for j in range(2)] for i in range(3)]
이렇게도 표현 가능하다.
그리고 응용할 수 있다.
a = [[0]* i for i in [1, 2, 3, 4, 5]]
print(a)
-------------------------------------------------
[[0], [0, 0], [0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0, 0]]
이렇게 길이가 다른 2차원 리스트도 생성할 수 있다.