Language/Python
[Python] map 함수
Junhong Kim
2019. 1. 5. 23:38
728x90
반응형
map은 입력받은 iterable object의 각 요소를 함수로 수행된 결과를 묶어서 반환합니다.
map(함수, <iterable object>)
- map은 lazy evaluation(게으른 연산)
을 진행해서 메모리를 절약합니다.
- map은 map iterator
객체를 반환합니다.
※ lazy evaluation(게으른 연산)이란?
- 계산 결과 값이 필요할 때까지 계산을 늦추는 것을 말합니다.
- iterator
, generator
객체가 해당합니다.
- next()
메소드로 데이터를 순차적으로 호출 가능한 객체입니다.
- 마지막 데이터까지 불러오면 다음은 StopIteration exception
이 발생합니다.
- iterable 객체를 iterator로 변환하고 싶다면 iter()
라는 built-in 함수를 사용합니다.
- for 문으로 looping 하는 동안, python 내부에서는 임시로 list를 iterator
로 자동 변환합니다.
예제1
numbers = map(int, input('숫자를 입력하세요: ').split())
for number in numbers:
print(number)
# 숫자를 입력하세요: 1 2 3
# 1 2 3
예제2
ret = list(map(lambda i: i ** 2, [1, 2, 3]))
print(ret)
# [1, 4, 9]
References
https://wayhome25.github.io/cs/2017/04/03/cs-03/
728x90
반응형