여러 값을 한 번에 입력할 때 map을 사용합니다.
map() 형식
map(function, iterable)
첫 번째 매개변수는 함수,
두 번째 매개변수는 iterable 즉, 반복 가능한 자료형이 옵니다.
이터러블(iterable; 반복 가능 자료형)은
리스트(list), 문자열(str), 튜플(tuple) 등
각 멤버를 차례로 반환 가능한 Object입니다.
나중에 알아볼 zip()도 iterable을 매개변수로 받습니다.
한 번에 값을 입력받을 때 map을 아래처럼 활용할 수 있습니다.
첫 번째 온 int의 경우, 클래스지만 함수처럼 사용이 가능하기 때문에 첫 번째 매개변수로 받아
두 번째의 iterable 자료형을 int형으로 변환하는 것입니다.
a, b = map(int, input().split())
a + 1
위 예시에서 input()함수를 split()해서 디폴트값인 공백을 기준으로 멤버를 나눠줍니다.
결국 input().split()은 list이기 때문에 map의 두 번째 항목에 매개변수로 받을 수 있습니다.
int()를 사용하는 이유?
input()을 통해 정수를 입력한 후 + 연산을 해보면 타입 에러가 나옵니다.
(( TypeError: can only concatenate str (not "int") to str ))
입력받은 정수를 문자열로 자동 인식해버려서 정수와의 + 연산에서 오류가 나기 때문입니다.
결국 입력하려는 자료형이 확실한 경우에는 형을 지정해주는 것이 안전합니다.
'[Python] 파이썬' 카테고리의 다른 글
[Python] 연산자 [5 ~ 7] (0) | 2022.07.28 |
---|---|
[Python] 연산자 [1 ~ 4] (0) | 2022.07.27 |
[Python] 입출력 함수 - format, f-string (0) | 2022.07.25 |
[Python] 입출력 함수 - 표준 출력 (0) | 2022.07.24 |
[Python] 컬렉션 - 딕셔너리 (0) | 2022.07.23 |