파이썬
[Python] 람다 / lambda 함수
audwndl
2024. 10. 4. 12:14
람다 함수는 이름이 없는 익명 함수로, 주로 한 줄의 간단한 표현식으로 정의됩니다.
lambda arguments: expression
여기서 arguments는 함수에 전달할 인자를 의미하고, expression은 반환할 값입니다.
람다 함수의 특징
- 간결성: 람다 함수는 간단한 연산을 짧은 코드로 표현할 수 있습니다.
- 익명성: 함수에 이름을 부여하지 않아도 되므로, 일회성 작업에 적합합니다.
- 고차 함수와의 호환성: 람다 함수는 map(), filter(), sorted()와 같은 고차 함수와 잘 어울립니다.
1. 기본 사용법
람다 함수
add = lambda x, y: x + y
print(add(3, 5)) # 출력: 8
일반 함수
def add(x, y):
return x + y
print(add(3, 5)) # 출력: 8
2. 리스트 정렬
points = [(2, 3), (1, 2), (4, 1)]
sorted_points = sorted(points, key=lambda point: point[1])
print(sorted_points) # 출력: [(4, 1), (1, 2), (2, 3)]
3. 필터링
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # 출력: [2, 4, 6]
4. 맵핑
numbers = [1, 2, 3, 4]
squares = list(map(lambda x: x ** 2, numbers))
print(squares) # 출력: [1, 4, 9, 16]
람다 함수의 단점
람다 함수는 간단한 표현식에는 유용하지만, 복잡한 로직이나 여러 줄의 코드를 포함할 수 없기 때문에 가독성이 떨어질 수 있습니다. 따라서 복잡한 함수는 일반 함수로 정의하는 것이 좋습니다.