파이썬의 리스트에는 리스트의 요소로 다른 리스트를 넣을 수가 있습니다. 이렇게 리스트 안에 리스트를 넣은 것을 다차원 리스트 또는 다중리스트라고 부릅니다. 여기서는 이중(2차원)리스트를 만드는 방법과 요소에 접근하는 방법을 설명합니다.
목차
이중(2차원)리스트를 만들기
이중(2차원)리스트의 요소에 접근하기
이중(2차원)리스트를 만들기
이중(2차원) 리스트를 만드는 방법은 일반 리스트를 만드는 방법과 다르지 않습니다. 리스트의 요소의 값으로 리스트를 지정한기만 하면 됩니다.
[요소1, 요소2, ... ]
예를 들어서
첫 번째 요소로 ["철수", 28],
두 번째 요소로 ["미영", 39],
세 번째 요소로 ["길동", 29]
를 포함하는 리스트는 다음과 같이 만들 수 있습니다.
[["철수", 28], ["미영", 39], ["길동", 29]]
이렇게 리스트 안에 리스트를 포함하고 있는 것을 다차원 리스트 또는 다중 리스트라고 부릅니다. 예에서는 이중(2차원)리스트를 만들어 보았습니다.
알아보기 쉽도록 요소를 세로로 나열할 수도 있습니다.
namelist = [["철수", 28],
["미영", 39],
["길동", 29]]
이것으로 아래와 같은 이중 리스트(2차원 리스트)가 만들어졌습니다.
이중(2차원)리스트의 요소에 접근하기
리스트의 요소에 다른 리스트가 포함되어 있기 때문에 인덱스를 지정해서 요소에 접근하면 각각 값으로 지정된 리스트에 접근하게 됩니다.
namelist = [["철수", 28], ["미영", 39], ["길동", 29]]
print(namelist[0])
--> ["철수", 28]
print(namelist[1])
--> ["미영", 39]
print(namelist[2])
--> ["길동", 29]
인덱스를 지정해서 접근한 리스트에 포함되어 있는 각각의 요소에 접근하려면 다시 한번 인덱스를 지정해주면 됩니다.
namelist = [["철수", 28], ["미영", 39], ["길동", 29]]
print(namelist[0][0])
--> "철수"
print(namelist[0][1])
--> 28
print(namelist[1][0])
--> "미영"
print(namelist[1][1])
--> 39
print(namelist[2][0])
--> "길동"
print(namelist[2][1])
--> 29
리스트는 배열처럼 사용할 수 있고 다중(다차원)리스트는 다차원 배열처럼 사용할 수 있습니다.
샘플 코드
namelist = [["철수", 28], ["미영", 39], ["길동", 29]]
for p in [0, 1, 2]:
for m in [0, 1]:
print("[" + str(p) + "][" + str(m) + "] = ", end='')
print(namelist [p][m])
>> [0][0] = 철수
>> [0][1] = 28
>> [1][0] = 미영
>> [1][1] = 39
>> [2][0] = 길동
>> [2][1] = 29
이중(이차원) 리스트에서 for문을 사용해서 요소에 순서대로 접근해서 출력할 수 있었습니다.
이상으로 이중(이차원) 리스트를 만들어 요소에 접근하는 방법을 해설했습니다.
같이 보면 좋은 글