map 함수란 ?
map 함수는 map(function, iterable) 형태로, 입력받는 값들은 1.함수와 2.반복가능한 자료형이다.
map은 입력받은 자료형의 각 요소를 함수(function)가 수행하도록 한다.
map함수의 반환 타입은 map 객체이기 때문에 list혹은 tuple로 변환시켜주어 사용하는 경우가 많다.
람다 함수와 사용되는 경우도 많다.
백준 1330번 문제에서 활용되었다.
A, B = list(map(int, input().split())) #입력받은 값을 공백을 기준으로 split한 뒤 int로 변환
if A>B:
print(">")
elif A<B:
print("<")
elif A==B:
print("==")
map의 반환 타입은 map 객체이다. A, B = map(int, input().split()) 으로 해도 A와 B에 값이 들어가지만 리스트로 변환시켜서 처리하는게 보통 사용법인 것 같다. A = map(int, input().split()) 로 코드 작성 후 A를 출력해보면 map 객체의 주소값이 나오게된다. 잘 생각해보자.
+
input().split()의 결과는 문자열 리스트라서 map을 사용할 수 있다.
10 20을 입력하면 [ '10', '20' ] 처럼 문자열 두 개가 들어있는 리스트가 만들어진다.
>>> a = input().split()
10 20 입력
>>> print(type(a))
<class 'list'>
a = map(int, input().split())
print(a)
map을 이용해서 정수로 바꾸기 위한 코드다.
10 20을 입력하면 맵 객체가 만들어진다.
사실 map이 반환하는 맵 객체는 이터레이터라서 변수 여러 개에 저장하는 언패킹(unpacking)이 가능하다.
그래서 a, b = map(int, input().split()) 처럼 list를 생략해도 같은 결과를 낼 수 있는 것이다.
'Python' 카테고리의 다른 글
[Python] 아스키 코드, ASCII Code (1) | 2023.12.08 |
---|---|
pangram 판별 (0) | 2023.11.11 |
[Python] 파이썬 리스트 비어있는지 여부 확인 (0) | 2023.09.05 |
[Python] 10진수 2진수, 8진수, 16진수 변환 (0) | 2023.08.25 |
파이썬 self (0) | 2022.10.01 |
댓글