카테고리 없음

파이썬 2차원 리스트 입력받는 방법

아놀드금자 2023. 7. 5. 03:17
728x90

내가 자주 쓰는 방법은 두가지

1. arr[][] = 인덱스로 값 할당하기

2. append 사용하기

3. 리스트 컴프리헨션

 

 

1번의 경우 [][]

@@@배열의 크기가 미리 정해져 있어야 함 -> 할당하려는 인덱스가 이미 존재해야 함@@@

n = int(input())  # n을 정수로 입력 받음

input_data = [[0] * 2 for _ in range(n)]  # n행 2열의 0으로 초기화된 2차원 배열 생성

for i in range(n):
    input_data[i][0], input_data[i][1] = map(int, input().split())  # 입력을 공백으로 분리하여 정수로 저장

print(input_data)  # 결과 출력

 

 

 

 

2번의 경우 append

배열의 크기가 동적임, 배열 크기 미리 정하지 않아도 됨

n = int(input())  # n을 정수로 입력 받음

input_data = []  # 빈 리스트 생성

for _ in range(n):
    data = list(map(int, input().split()))  # 입력을 공백으로 분리하여 정수 리스트로 변환
    input_data.append(data)  # 리스트에 추가

 

 

3번의 경우 리스트컴프리헨션

존나 간단

n = int(input())

input_data = [list(map(int, input().split())) for _ in range(n)]  
# 입력을 공백으로 분리하여 정수 리스트로 변환하고, 리스트에 추가

 

 

번외: 공백없는 숫자입력 리스트로 

maze = [list(map(int, input())) for _ in range(n)]

 

번외: 문자입력 리스트로

input_data = [input() for _ in range(a)]

 

728x90