공부/파이썬

한 번에 여러 개 입력 받기(split,map함수)

wonah 2022. 6. 2. 18:00
#1. 값 두 개를 입력받아 변수 a와 b에 저장 (띄어쓰기 구분)
a, b = input().split()  #문자열로
a, b = map(int, input().split()) #정수형으로
a, b = map(float, input().split()) #실수형으로

#2. 1차원 배열 입력받기 = 정수형 리스트로 저장
num_list =  list(map(int, input().split())

#3. 문자열 여러 줄 입력받기
s_list = [input() for _ in range(n)] #엔터로 구분

#4. 한 문자열을 받아서 한 글자씩 나누어 더하기
s = input()
for i in range(len(s)):
	sum += int(s[i]) #문자열은 슬라이싱 가능 + 문자열 형변환

#5. 띄어쓰기 없이 정수 여러 개 입력받아 2차원 배열로 저장하기
two_d = [list(map(int, input())) for _ in range(n)]

#6. 열은 띄어쓰기로 행은 엔터로 구분하여 입력받아 2차원 배열 저장하기
t_d = [list(map(int, input().split())) for _ in range(n)]

split 함수란?

문자열을 일정한 규칙으로 잘라서 리스트로 만들어주는 함수

문자열.split()

문자열.split('구분자')

문자열.split('구분자',분할개수)

문자열.split(sep='구분자',maxsplit='분할개수) -> 문자열을 maxsplit 개수만큼 sep의 구분자를 기준으로 문자열을 잘라서 리스트로 만든다.

 

sep 파라미터

기본값은 none

띄어쓰기,엔터로 문자열 자름

문자열.split(','은 , 기준으로 문자열을 자른다는 뜻

 

maxsplit 파라미터

기본값은 -1 자를 수 있을 때까지 문자열 전체를 자름

앞에 sep파라미터가 있을 때만 maxsplit=를 생략할 수 있음

 

map함수란?

리스트의 요소를 지정된 함수로 처리하는 함수.

보통 여러 개의 데이터를 한 번에 다루는 형태로 바꾸기 위해 사용함.

map(function, iterable)

첫 번째 매개변수는 적용시킬 함수, 두 번째 매개변수는 반복가능한 자료형(리스트, 튜플 등)

map 함수의 반환값은 map 객체라서 list나 tuple로 형 변환 시켜주어야 함.

함수는 int와 타입, 람다함수, 일반 함수 모두 가능

728x90