본문 바로가기
IT/Python Basic

[Python] 특집 - lambda 함수 활용법

by Echinacea 2025. 3. 19.
반응형

파이썬에서 lambda 함수는 한 줄로 간결하게 함수를 정의할 수 있는 익명 함수입니다. 반복적으로 사용하지 않는 간단한 기능을 구현할 때 유용합니다. 이 문서에서는 lambda 함수의 개념과 다양한 활용법을 살펴보겠습니다.


 

 

🔹 1. lambda 함수란?

lambda 함수는 익명 함수로, def 키워드를 사용하지 않고 함수를 한 줄로 정의할 수 있습니다.

 

✅ 기본 문법

lambda 매개변수1, 매개변수2, ...: 표현식

 

✅ 예제 1: 두 숫자의 합을 구하는 lambda 함수

add = lambda x, y: x + y
print(add(3, 5))  # 8

 

📌 설명: lambda x, y: x + y는 x와 y를 더한 값을 반환하는 함수입니다.


 

 

🔹 2. lambda 함수와 map() 활용

map() 함수는 리스트나 튜플 등의 요소에 함수를 적용하는데 유용합니다.

 

 

✅ 예제 2: 리스트 요소를 제곱하는 lambda 함수

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))
print(squared)  # [1, 4, 9, 16, 25]

📌 설명: map(lambda x: x ** 2, numbers)는 리스트의 모든 요소를 제곱합니다.


 

 

🔹 3. lambda 함수와 filter() 활용

filter() 함수는 특정 조건을 만족하는 요소만 선택할 때 유용합니다.

 

 

✅ 예제 3: 리스트에서 짝수만 필터링

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # [2, 4, 6]

📌 설명: filter(lambda x: x % 2 == 0, numbers)는 리스트에서 짝수만 남깁니다.


 

 

🔹 4. lambda 함수와 sorted() 활용

lambda를 사용하면 정렬 기준을 간편하게 정의할 수 있습니다.

 

 

✅ 예제 4: 튜플 리스트를 두 번째 요소 기준으로 정렬

students = [("Alice", 25), ("Bob", 20), ("Charlie", 22)]
sorted_students = sorted(students, key=lambda x: x[1])
print(sorted_students)  # [('Bob', 20), ('Charlie', 22), ('Alice', 25)]

📌 설명: sorted(students, key=lambda x: x[1])는 나이를 기준으로 정렬합니다.


 

 

🔹 5. lambda 함수와 reduce() 활용

reduce() 함수는 리스트의 모든 요소를 하나의 값으로 축약할 때 사용됩니다.

 

 

✅ 예제 5: 리스트의 모든 요소 곱하기

from functools import reduce
numbers = [1, 2, 3, 4, 5]
product = reduce(lambda x, y: x * y, numbers)
print(product)  # 120

📌 설명: reduce(lambda x, y: x * y, numbers)는 리스트의 모든 숫자를 곱합니다.


 

 

🔹 6. lambda 함수와 조건문 활용

 

 

✅ 예제 6: lambda에서 조건문 사용하기

max_value = lambda x, y: x if x > y else y
print(max_value(10, 5))  # 10

📌 설명: x if x > y else y는 x와 y 중 큰 값을 반환합니다.


 

반응형

댓글