반응형
람다(lambda)함수는 파이썬에서 사용되는 익명의 함수입니다. 간단한 함수를 한줄로 정의 할 수 있게 해주는 기능입니다.
주로 다른 함수의 인자로 사용되거나, 짧은 함수가 필요할때 유용합니다.
기본구조
lambda 인자: 표현식
예시
1. 간단한 람다함수
# 일반 함수
def add(x, y):
return x + y
# 같은 기능의 람다 함수
add_lambda = lambda x, y: x + y
print(add(3, 5)) # 출력: 8
print(add_lambda(3, 5)) # 출력: 8
2. 정렬에 사용되는 람다 함수
pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
pairs.sort(key=lambda pair: pair[1])
print(pairs)
# 출력: [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
3. map() 함수와 함께 사용
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)
# 출력: [1, 4, 9, 16, 25]
4. filter() 함수와 사용
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) 장점
- 코드를 간결하게 만들어 줍니다.
- 일회성 사용에 적합합니다.
- 함수형 프로그래밍 스타일에 유용합니다.
2) 단점
- 복잡한 로직을 구현하기에는 적합하지 않습니다.
- 재사용이 필요한 경우에는 일반 하무가 더 적합할 수 있습니다.
- 과도한 사용은 코드의 가독성을 떨어뜨릴 수 있습니다.
반응형