map()은 1개의 입력이 아니라, 여러개가 입력된 경우 각각의 요소들에 대해 특정한 함수를 적용시키고 싶을 때 위 코드에서는 int로 적용하고 싶을 때 사용한다.
입력 받는 수가 많고 각 타입을 변환할때 하나하나 변경하는 것은 힘들고 귀찮다.
중복되는 코드와 타입은 1번에 해결
사용자로부터 입력 받음
input() # '4 5'
사용자로부터 입력받은 수 공백으로 분리
input().split() # ['4', '5'] # input().split(' ') # ['4', '5']
문자로 처리되어 있는 것을 모두 int형으로 변환하려고 할 때
map(int, ['4', '5'])
결과
a, b = map(int, input().split(' ')) print(a, b) # 4 5
- 리스트로 받기 - 하나의 묶음으로 만들기
a = list(map(int, input().split(' ') print(a) # [4, 5]
문자열을 분리할 때 사용한다.
문자열.split()
문자열.split('구분자')
문자열.split('구분자', 분할횟수)
문자열.split(sep='구분자', maxsplit=분할횟수)
구분자를 기준으로 몇번 분할 할 것인지를 작성한다.
문자열을 분할 횟수를 지정해주지 않으면 '구분자'가 나올 때 마다 분리한다.
구분자는 제거되고 분할된다.
앞 뒤 공백을 제거한다.
ex) strip('-') -> '-'를 제거한다.
정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요.
입력 #1
4 5
출력 #1
a = 4
b = 5
a, b = map(int, input().strip().split(' ')) print('a =', a) print('b =', b)
코드 간단 소개
- 1줄로 받아오는 문자열을 a, b로 분리한다.
- map()함수를 사용하여 a, b를 int형으로 넣는다.
- map()함수에서 input()으로 받아온다.
- strip()으로 앞뒤 공백을 제거한다.
- 문자열을 split(' ')공백을 기준으로 나눈다.
- a, b를 출력한다.