본문 바로가기
실버를 위한 코딩/파이썬

[파이썬] 람다(lambda) 함수는?

by forSilver 2024. 6. 27.
반응형

람다(lambda) 함수는?

람다 함수는 익명 함수(anonymous function)를 정의하기 위한 방법으로, 보통 짧고 간단한 함수가 필요할 때 사용됩니다. 파이썬에서는 lambda 키워드를 사용하여 람다 함수를 정의할 수 있습니다. 람다 함수는 이름이 없고, 한 줄로 정의되며, 일반적인 함수 정의와는 달리 def 키워드를 사용하지 않습니다.

 

람다 함수의 기본 형식

 

lambda 매개변수들: 반환값

예제를 통해 람다 함수의 사용법을 살펴보겠습니다.

예제 1: 두 수의 합을 구하는 람다 함수

add = lambda x, y: x + y
result = add(2, 3)
print(result)  # 출력: 5

예제 2: 리스트의 각 요소에 2를 곱하는 람다 함수

numbers = [1, 2, 3, 4, 5]
doubled_numbers = list(map(lambda x: x * 2, numbers))
print(doubled_numbers)  # 출력: [2, 4, 6, 8, 10]

예제 3: 조건에 따라 값을 반환하는 람다 함수

max_value = lambda a, b: a if a > b else b
result = max_value(10, 20)
print(result)  # 출력: 20

위 예제 코딩 결과

 

적용

람다 함수는 특히 map(), filter(), reduce() 같은 함수와 함께 사용될 때 유용합니다. 람다 함수는 짧고 간결한 코드를 작성할 때 매우 편리하지만, 너무 복잡한 로직을 담는 경우 가독성이 떨어질 수 있으므로 주의해야 합니다.

 

실습 과제

  1. 주어진 리스트에서 짝수만을 필터링하는 람다 함수를 작성하세요.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 여기에 람다 함수를 사용하여 짝수를 필터링하세요.
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 출력: [2, 4, 6, 8, 10]
  1. 주어진 리스트의 각 요소를 제곱하는 람다 함수를 작성하세요.
numbers = [1, 2, 3, 4, 5]
# 여기에 람다 함수를 사용하여 각 요소를 제곱하세요.
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers)  # 출력: [1, 4, 9, 16, 25]

 

실습 과제 코딩 결과

 

정리

람다 함수는 파이썬에서 익명 함수(이름이 없는 함수)를 정의하는 방법입니다. `lambda` 키워드를 사용하며, 한 줄로 작성됩니다. 보통 짧고 간단한 기능을 구현할 때 사용되며, `map()`, `filter()`, `reduce()`와 같은 함수와 함께 자주 사용됩니다. 기본 형식은 `lambda 매개변수들: 반환값`입니다. 예를 들어, `lambda x, y: x + y`는 두 수의 합을 반환하는 람다 함수입니다. 람다 함수는 간결한 코드를 작성하는 데 유용하지만, 복잡한 로직에는 적합하지 않습니다.