map
map 함수의 원형은 다음과 같습니다.
map(function, iterable)
function : iterable에 대해 수행할 함수
iterable : 반복 가능한 자료형
map 함수는 iterable의 각 원소에 대해 function을 수행하는 함수입니다.
첫 번째 인자 function에는 람다함수도 쓸 수 있습니다.
map 함수의 반환 값은 map 객체이기 때문에 list 또는 tuple로 형 변환시켜주어야 합니다.
map함수 예제
list(map(int,[1.1, 2.0, 3.3, 4.5]))
결과
[1, 2, 3, 4]
map + 람다 함수 예제
map의 첫번째 인자로 람다함수를 쓰는 예제입니다.
list(map(lambda x: x * 10, [1,2,3,4,5])))
결과
[10, 20, 30, 40, 50]
def calc(number, target):
return number * target
print(list(map(lambda x: calc(100, x), [1, 2, 3, 4, 5])))
결과
[100, 200, 300, 400, 500]
filter
filter함수는 map 함수와 원형이 동일합니다.
filter(function, iterable)
function : iterable에 대해 수행할 함수
iterable : 반복 가능한 자료형
사용방법은 map함수와 동일하나 filter의 첫번째 매개변수 함수의 결과가 참, 거짓인지에 따라 iterable의 해당 원소를 포함할지를 결정합니다.
filter 함수 예제
def is_even(n):
return True if n % 2 == 0 else False
target = [1, 2, 3, 4, 5]
print(list(filter(is_even, target)))
결과
[2, 4]
filter함수도 첫번째 매개변수 function에 람다 함수를 사용할 수 있습니다.
이처럼 map과 filter함수는 for문을 사용하지 않고 iterable의 모든 원소에 대해서 특정 함수를 반복적으로 수행하고 원하는 결과를 리턴받을 때 유용합니다.
'python' 카테고리의 다른 글
[Python] 순열, 조합 (0) | 2021.04.06 |
---|---|
[Python] zip 함수 (0) | 2021.04.01 |
[Python] 오름차순 정렬, 내림차순 정렬 (0) | 2021.03.28 |
join과 split (0) | 2020.06.29 |
[Python] enumerate (0) | 2020.06.29 |