파이썬, 람다 함수

sky.dev·2025년 4월 16일

Data&AI-Uni.

목록 보기
12/77
post-thumbnail

람다 Lambda

매개변수 vs 인수

매개변수 : 함수 정의 시 입력받는 값 (예.def func(x):)
인수 : 함수 호출 할 때 실제로 전달하는 값 (예.func(10)

람다 표현식

lambda 키워드를 사용해 익명 함수를 한 줄로 표현한다
일반 함수처럼 def로 정의하지 않아도 된다.

(lambda 매개변수: 리턴값)(인수)

람다 함수의 변수

람다 함수는 익명 함수
바로 사용하기 위해서는 변수에 할당이 필요하다

multiply = lambda x, y: x * y
print(multiply(3, 4))  # 12

람다 안에서는 새로운 변수 생성은 불가능하다

lambda x: y = x + 1  # ❌ 오류!

다만, 함수의 바깥에 있는 변수는 참조 가능하다

rate = 0.1
tax = lambda price: price * rate

람다 표현식을 인수로 사용하는 함수 3가지

  1. map()
  2. filter()
  3. reduce()

map()

각 효소에 함수를 적용해 새 리스트를 작성한다
map(함수, 리스트)

prices = [1000, 2000, 3000]
# 10% 할인 가격 계산
discounted = list(map(lambda p: p * 0.9, prices))
print(discounted)  # [900.0, 1800.0, 2700.0]

filter()

조건에 맞는 요소만 필터링한다
filter(조건 함수, 리스트)

reduce()

모든 요소를 누적으로 계산한다
파이썬 3에서는 functool에서 불러와야 한다

scores = [65, 80, 45, 90]
# 60점 이상만 추출
passed = list(filter(lambda s: s >= 60, scores))
print(passed)  # [65, 80, 90]

reduce(함수, 리스트)

from functools import reduce

temps = [23, 25, 20, 22]
# 평균 계산 (총합 / 개수)
total = reduce(lambda x, y: x + y, temps)
average = total / len(temps)
print(average)  # 22.5

0개의 댓글