달나라 노트

Python Basic : map & filter 함수 본문

Python/Python Basic

Python Basic : map & filter 함수

CosmosProject 2021. 1. 24. 20:54
728x90
반응형

 

 

 

Python의 map 함수는 반복 가능한 객체(iterable)를 받아서 각 요소에 어떠한 함수를 적용시켜서 반환합니다.

map(function, iterable)

map 함수는 첫 번째로 적용시킬 함수(function)를 인자로 받고, 두 번째로 iterable 객체를 받습니다.

 

 

list_test = [1, 2, 3, 4, 5]

def multiply(x):
    return x * 2

list_new = list(map(multiply, list_test))

print(list_new)


- Output
[2, 4, 6, 8, 10]

위 코드를 봅시다.

 

만약 list_test의 각각의 요소에 2를 곱한 list를 얻고싶다면 map함수를 사용할 수 있습니다.

이를 위해 multiply라는 함수를 선언하였습니다. 이 함수는 받은 값에 2를 곱하여 반환해주죠.

 

list_new = list(map(multiply, list_test))

즉, 위 코드는 list_test에 있는 각각의 요소에 muliply라는 함수를 적용시켜서 반환하며,

반환값을 list 함수에 의해 다시 list로 만드는 코드입니다.

 

따라서 결과를 보면 2, 4, 6, 8, 10 으로 기존 요소들이 모두 2배가 되었죠.

 

 

 

 


 

 

filter 함수는 map함수와 비슷하지만 조건에 맞는 값들만 반환한다는 특징이 있습니다.

filter(function, iterable)

filter 함수는 첫 번째로 적용시킬 함수(function)를 인자로 받고, 두 번째로 iterable 객체를 받습니다.

 

 

 

 

 

list_test = [1, 2, 3, 4, 5]

def even_filter(x):
    if x % 2 == 0:
        return x
    else:
        pass

list_test_filtered = list(filter(even_filter, list_test))

print(list_test_filtered)

위 예시코드는 list_test에 있는 요소 중에서 짝수만 골라내어 새로운 list를 만드는 코드입니다.

 

 

 

 

 

 

 

728x90
반응형
Comments