Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 람다(Lambda)와 filter() 함수 완벽 정리: 예제로 배우는 실전 활용법

이 글에서는 파이썬 3.x(및 그 이하 버전)에서 사용할 수 있는 람다(lambda) 표현식filter() 함수에 대해 알아보겠습니다. 두 기능 모두 파이썬 표준 라이브러리에 내장되어 있어 별도의 설치나 임포트 없이 바로 사용할 수 있습니다.

람다 표현식이란?

람다 표현식은 이름 없이 간단한 인라인 함수를 정의할 수 있는 방법입니다. lambda 키워드 뒤에 쉼표로 구분된 인자 목록과 평가할 표현식을 아래 형식처럼 작성합니다.

문법

lambda 인자: 표현식

반환 값: 인자를 표현식에 대입하여 계산된 결과값입니다.

람다 표현식은 함수에 이름을 붙이지 않기 때문에 흔히 익명 함수(anonymous function)라고도 불립니다. 일반적인 함수 선언에서 필요한 def 키워드 없이 한 줄로 함수를 정의할 수 있다는 점이 큰 장점입니다.

filter() 함수란?

파이썬은 filter() 함수를 제공합니다. 이 함수는 함수와 반복 가능한(iterable) 객체를 입력으로 받아, 해당 함수가 True를 반환하는 요소만 걸러내어 반환합니다.

문법

filter(function, <리스트 타입>)

반환 타입: 조건을 통과한 값들로 구성된 리스트

그럼 실제 구현 예시를 통해 두 기능이 어떻게 동작하는지 자세히 살펴보겠습니다.

예제 1: 특정 문자 제거하기

코드

inp_list = ['t','u','t','o','r','i','a','l']
result = list(filter(lambda x: x!='t' , inp_list))

print(result)

실행 결과

['u', 'o', 'r', 'i', 'a', 'l']

설명

위 예제에서는 람다 표현식으로 작성한 조건(x가 't'가 아닐 때 True)을 통해 리스트에서 't'를 제외한 나머지 요소들만 걸러냈습니다. list()로 감싸주어 결과를 리스트 형태로 변환한 것도 확인할 수 있습니다.

예제 2: 짝수만 추출하기

코드

inp_list = [1,2,3,4,5,6,7,8,9,10]
result = list(filter(lambda x: x%2==0 , inp_list))

print(result)

실행 결과

[2, 4, 6, 8, 10]

설명

이번에는 주어진 리스트에서 짝수만 골라내는 예제입니다. 람다 표현식의 조건(x를 2로 나눈 나머지가 0일 때 True)을 만족하는 요소들만 필터링되어 새로운 리스트로 반환됩니다.

마무리

이번 글에서는 파이썬 3.x 환경에서 람다 표현식과 filter() 함수를 구현하고 활용하는 방법을 배웠습니다. 특히 두 기능을 함께 사용하면 원하는 조건에 맞는 데이터를 간결하고 직관적으로 추출할 수 있습니다.

실무에서도 이 두 함수는 자주 함께 사용됩니다. 복잡한 반복문 없이 한 줄의 코드로 원하는 형식의 출력을 얻을 수 있어 코드의 가독성과 생산성을 동시에 높여주기 때문입니다. 리스트 컴프리헨션(list comprehension)과 함께 다양하게 응용해 보시길 권장합니다.