Map
- 리스트의 요소에 함수를 적용하여 iterator 객체로 반환
- list가 아닌 iterator로 반환하는 이유는 원하는 자료구조로 변환시킬 수 있도록 하기 위함.
a = [1, 2, 3]
b = list(map(lambda x: x + 10, a))
#[11, 12, 13]
https://leejunggae.tistory.com/31
자주 같이 쓰이는 람다 함수에 대해서는 이전 포스트 참고
Filter
- list 요소들 중 함수에 일치하는 값만 반환
- map과 비슷하다.
- 리턴 값은 참이나 거짓이어야 한다.
a = [1, 2, 3]
b = list(filter(lambda x: x > 1, a)) # 1보다 큰 수만 반환
#[2, 3]
실은 위의 기능들을 사용하지 않고도 구현할 수 있다.
list comprehenshion
a = [1, 2, 3]
b = [x + 10 for x in a]
#[11, 12, 13]
a = [1, 2, 3]
b = [x for x in a if x > 1]
#[2, 3]
가독성이 좋아졌다.
Reduce
- 파이썬3 부터는 없다.
'파이썬 > 2. 파이썬 심화' 카테고리의 다른 글
파이썬 게으른 연산(lazy evaluation) (0) | 2020.04.27 |
---|---|
파이썬 클로저(closure) (0) | 2020.04.23 |
파이썬 람다 함수(lambda) (0) | 2020.04.23 |
파이썬 데코레이터(Decorator) + *args, **kwargs (0) | 2020.04.23 |
파이썬 반복자와 생성자(Iterator, Generator) (0) | 2020.04.21 |