99클럽 코테 스터디 2일차 TIL + python의 lambda 사용법

황서희·2024년 7월 23일
0
post-thumbnail

내용 정리

개요

Python의 lambda 함수는 간단한 익명 함수(anonymous function)를 작성할 때 사용된다. lambda 함수는 단일 표현식을 가진 함수로, 일반적인 함수 정의보다 더 간결하게 작성할 수 있다.

lambda 인자1, 인자2, ... : 표현식
  • lambda 키워드로 시작한다.
  • 인자 리스트가 뒤따른다.
  • 콜론 : 뒤에 표현식이 온다. 이 표현식의 결과가 함수의 반환값이 된다.
  1. 기본 사용법
add = lambda x, y: x + y
print(add(2, 3))  # 출력: 5
  1. 리스트에서 사용
add = lambda x, y: x + y
print(add(2, 3))  # 출력: 5
  1. 고차 함수에서 사용
def apply_function(f, value):
    return f(value)

result = apply_function(lambda x: x * 2, 5)
print(result)  # 출력: 10
  1. 맵(map)과 필터(filter) 함수에서 사용
# map 사용 예제
numbers = [1, 2, 3, 4]
squared = map(lambda x: x ** 2, numbers)
print(list(squared))  # 출력: [1, 4, 9, 16]

# filter 사용 예제
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers))  # 출력: [2, 4]
  1. 리스트 컴프리헨션에서 조건으로 사용
numbers = [1, 2, 3, 4, 5, 6]
even_squares = [x ** 2 for x in numbers if (lambda x: x % 2 == 0)(x)]
print(even_squares)  # 출력: [4, 16, 36]
  1. 정렬의 키 함수로 사용
points = [(1, 2), (3, 3), (1, -1)]
points_sorted_by_y = sorted(points, key=lambda point: point[1])
print(points_sorted_by_y)  # 출력: [(1, -1), (1, 2), (3, 3)]
  1. 데이터 처리 파이프라인
data = [1, 2, 3, 4, 5]
processed_data = map(lambda x: x * 2, filter(lambda x: x % 2 == 0, data))
print(list(processed_data))  # 출력: [4, 8]

회고

평범한 날이 계속됐으면 좋겠습니다...

profile
다 아는 건 아니어도 바라는 대로

0개의 댓글