본문으로 건너뛰기
실습하기

filter(), map() 함수로 시퀀스 처리하기

filter() 함수와 map() 함수는 리스트, 튜플과 같은 반복 가능한 객체의 요소를 처리하는 데 사용됩니다.

filter() 함수는 주어진 조건을 만족하는 요소만 걸러내는 데 사용되며, map() 함수는 각 요소에 함수를 적용하여 새로운 시퀀스를 생성합니다.


filter() 함수 사용법

filter() 함수는 주어진 함수가 True를 반환하는 요소들로 구성된 새로운 시퀀스를 생성합니다.

filter 함수의 첫 번째 인자는 콜백 함수이며, 두 번째 인자는 반복 가능한 객체(시퀀스)입니다.

filter 함수 사용법
filter(function, iterable)

예를 들어, filter() 함수를 사용해 아래와 같이 주어진 숫자 리스트에서 짝수만 필터링할 수 있습니다.

filter() 함수의 사용
# 짝수를 필터링하는 콜백 함수
def is_even(number):
return number % 2 == 0

# 숫자 리스트
numbers = [1, 2, 3, 4, 5, 6]

# filter() 함수 사용
even_numbers = filter(is_even, numbers)

even_list = list(even_numbers)
print(even_list)
# [2, 4, 6]

map() 함수 사용법

map() 함수는 반복 가능한(iterable) 객체를 인자로 받아, 해당 객체의 각 요소에 주어진 함수를 적용한 결과를 담은 새로운 map 객체를 생성합니다.

리스트, 튜플, 문자열 등 반복 가능한 모든 객체에 사용할 수 있으며, 새로 생성된 map 객체를 리스트 및 튜플과 같은 다른 자료형으로 변환할 수 있습니다.

map 함수 사용법
map(function, iterable)

이 함수는 데이터 변환 작업에서 자주 활용되며, 반복 가능한 객체의 모든 요소를 일괄적으로 처리할 때 유용합니다.

map() 함수 사용 예시
# 숫자를 제곱하는 콜백 함수
numbers = [1, 2, 3, 4, 5, 6]

def square(number):
return number * number

# map() 함수 사용
squared_numbers = map(square, numbers)

print(list(squared_numbers))
# [1, 4, 9, 16, 25, 36]

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!