[Python] 파이썬

[Python] 여러 값 한 번에 입력하기_map()

ITsubin 2022. 7. 26. 20:41

여러 값을 한 번에 입력할 때 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