리스트 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차원 리스트도 생성할 수 있다.
'Python > [개념 및 문법]' 카테고리의 다른 글
[python] loc 활용 사례 (0) | 2024.05.03 |
---|---|
[python] 결측치 처리, 대체 map 함수 (0) | 2024.05.03 |
[python] 2차원 배열과 for문 (0) | 2023.07.14 |
[python] 2차원 배열 입력받기 (0) | 2023.07.14 |
[python] 2차원 배열 선언과 활용 (0) | 2023.07.14 |