CS/Python

[파이썬] 이중 리스트 초기화 방법

연수구 주정뱅이 2021. 8. 18. 17:12

이중 리스트를 사용할 일이 많다. 코딩 테스트라던지, 텐서라던지.

 

파이썬에서 이중 리스트를 초기화 및 입력받는 방법을 알아보자.

 

여러 방법이 있지만, 가장 간결한 방법만을 소개하겠다.

 

 

arr = [[1,2,3],[4,5,6]] 이라고 할 때, 이를 보기 쉽게 표현하자면

 

[                 

[1, 2, 3],

[4, 5, 6]

                 ]

 

으로 표현할 수 있다. 

 

arr[0] = [1, 2, 3]이고,

arr[1] = [4, 5, 6]이다.

 

결국 총 2행 3열의 리스트를 만들고 싶을 때에는

arr = [ [0 for col in range(2)] for row in range(3) ]

이다.

 

[ 0, 0 ] 으로 이루어진 (col의 개수만큼 요소가 있는) 1차원 리스트를 row 개수만큼 만들어 2차원 리스트에 저장한다.

 

 

 

입력을 받을 때에는

N = int(input())
arr = [list(map(int, input().split())) for row in range(N)]
print(arr)

# 입력
# 3
# 1 2 3
# 4 5 6
# 7 8 9

# 출력
# [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

이런 식으로 입력받을 수 있다.

 

 

 

이중 리스트의 길이는

arr = [ [1, 2, 3], [4, 5, 6] ]

print(len(arr))    # 이중 리스트 안의 1차원 리스트의 개수이므로 2
print(len(arr[0])) # 이중 리스트 안의 1차원 리스트의 길이이므로 3

 

 

Reference: 2차원 리스트 생성