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
반응형