# map 함수
- map(function, iterable, ...)
- iterable 의 모든 항목에 function 을 적용한 후 그 결과를 이터레이터로 돌려준다
def mul_two(n):
return n * 2
# map 사용
numbers = [1, 2, 3, 4, 5]
print(map(mul_two, numbers))
# >>> <map object at 0x1074bbfa0>
# map to list 형번환
print(list(map(mul_two, numbers)))
# >>> [2, 4, 6, 8, 10]
# 익명함수 lamda 사용
print((list(map(lambda x: x * 2, numbers))))
# >>> [3, 4, 5, 6, 7]
# filter 함수
- filter(function, iterable)
- function 이 참으로 돌려주는 iterable 의 요소들로 이터레이터를 구축
- 조건이 거짓인 요소들 제거하여 이터레이터 구축
def check_even(n):
if n % 2 == 0:
return True
return False
numbers = [1, 2, 3, 4, 5]
# filter 사용 후 list 형변환
print(list(filter(check_even, numbers)))
# >>> [2, 4]
# lambda 사용하여 홀수 구하기
print(list(filter(lambda x: x % 2, numbers)))
# >>> [1, 3, 5]
# reduce 함수
- functools.reduce(function, iterable,[, initializer])
- function 을 왼쪽에서 오른쪽으로 iterable의 항목에 누적적으로 적용하여 이터러블을 단일 값으로 줄인다.
- 리스트 데이터를 처음부터 순서대로 특정 함수를 실행하여 결과를 누적시켜주는 함수
- function 은 parameter 가 2개가 되어야하고 결과는 하나여야함
from functools import reduce
# 예제 1 부터 10까지의 합
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
output = reduce(lambda x, y: x + y, numbers)
print(type(output), output)
# >>> <class 'int'> 55
'Python' 카테고리의 다른 글
파이썬 클로저 (closure) (0) | 2021.03.06 |
---|---|
파이썬 일급 객체 (First-Class) (0) | 2021.03.05 |
파이썬 datetime (0) | 2021.03.02 |
파이썬 List Comprehension (리스트 컴프리헨션 ) (0) | 2021.02.28 |