반응형

파이썬에서 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 중 큰 값을 반환합니다.
반응형
'IT > Python Basic' 카테고리의 다른 글
[Python] 초급 개념11+ - 문자열 출력과 조작 특집 (0) | 2025.03.31 |
---|---|
[Python] 특집 - 십진수와 이진수 변환 (0) | 2025.03.21 |
[python] 파이썬 isdigit() 함수 완벽 가이드 (0) | 2025.03.19 |
[Python] 특집 - range() 함수로 리스트 다루기 (0) | 2025.03.18 |
[Python] 초급 개념21 - 파이썬 반복문의 종류 (0) | 2025.03.18 |
[Python] 초급 개념21 - sort()와 sorted() (0) | 2025.03.14 |
[Python] 튜플, 딕셔너리, 집합 개념 정리 특집 (0) | 2025.02.28 |
[python] 문자와 ASCII/Unicode 변환 - ord()와 chr() 함수 정리 (0) | 2025.02.27 |
댓글