객체 지향 프로그래밍/Python

map과 filter 함수 활용하기

ghtis1798 2021. 3. 15. 01:44

📌map 함수

map 함수는 Iterable한 객체로부터 각각의 값을 꺼내 적용시킬 수 있는 함수이다.

def power(x):
    return x**2

list1 = [1,2,3,4,5]
squared = list(map(power, list1))
print(squared)
# list1의 각각의 요소를 제곱한 값 출력 : 1,4,9,16,25

리스트 외에 튜플, 문자열과 같은 Iterable객체면 모두 전달이 가능하다.

📌슬라이싱

슬라이싱 시 세 번째 요소가 음수이면 꺼내는 방향이 바뀐다.

list1 = ['one', 'two', 'three']
print(list(map(lambda x:x[::-1], list1)))
# eno, owt, eerht
print(list(map(lambda x:x[::-2], list1)))
# et, ot, ert 
# -2는 뒤에서부터 가져오되 2칸씩 건너 뛰면서 가져온다.

📌Filter 함수

filter 함수는 값을 걸러내는 기능을 한다.

filter 함수의 첫 번째 매개변수는 True, False를 반환하는 함수, 두 번째 매개변수는 Iterable 객체이다.

list1 = [1,2,3,4,5]
def is_odd(x):
    return x % 2 == 0
print(list(filter(is_odd, list1)))
# 2, 4 출력