본문 바로가기
Python

파이썬 map 함수

by shur_ 2022. 11. 22.

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

댓글