728x90
목 차
728x90
1. lambda 함수란?
- 파이썬의 lambda 함수는 익명 함수(anonymous function)를 만들 때 사용되는 짧고 간결한 방법입니다.
- 일반적인 함수 정의 방식과 달리, lambda 키워드를 사용하면 이름 없이 바로 사용할 수 있는 함수를 정의할 수 있습니다.
- 보통 간단한 계산이나 처리에 사용되며, 코드의 가독성을 높이거나 불필요한 함수 정의를 피할 수 있습니다.
2. 기본 문법
- 인자들(Arguments): 콤마(,)로 구분된 함수에 전달될 입력값입니다.
- 표현식(Expression): 인자들로 수행할 단일 표현식으로, 이 표현식의 결과가 반환됩니다.
lambda 인자1, 인자2, ... : 표현식
2-1. 기본 사용 예제
a = (lambda a, b, c : a+b+c)(10, 20, 30)
print(a) # 출력 : 60
2-2. 주요 특징
- lambda 함수는 한 줄로 정의되며, 여러 줄의 코드를 처리할 수 없습니다.
- 함수의 이름이 없기 때문에 바로 사용되거나 다른 함수에 전달될 때 주로 사용됩니다.
- 간단한 로직에 적합하며, 복잡한 로직에는 권장되지 않습니다.
2-3. lambda와 일반 함수의 작성 방법
- lambda를 사용한 합계 표현
sum = (lambda a, b : a+b)(10, 20)
print(sum) # 출력 : 30
- def 를 사용한 합계 표현
def sum(a, b) :
return a + b
print(sum(10, 20)) # 출력 : 30
3. 활용 예제 (sorted, map, filter)
- 리스트 내 튜플 두번째 값을 기준으로 정렬
points = [(1, 2), (3, 4), (5, 0)]
points_sorted = sorted(points, key=lambda point: point[1])
print(points_sorted)
'''
실행 결과
[(5, 0), (1, 2), (3, 4)]
'''
- 리스트 요소 값들을 제곱해서 새로운 리스트 생성
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x ** 2, numbers))
print(squared)
'''
실행 결과
[1, 4, 9, 16]
'''
- 리스트 내 짝수에 해당하는 요소만 필터링해서 새로운 리스트 생성
numbers = [1, 2, 3, 4]
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even)
'''
실행 결과
[2, 4]
'''
관련글 목록
728x90
'프로그래밍 > [Python] 파이썬' 카테고리의 다른 글
[Python] filter() 함수 이해하기 - 파이썬 문법 (0) | 2024.10.26 |
---|---|
[Python] map() 함수 이해하기 - 파이썬 문법 (0) | 2024.10.25 |
[Python] sorted() 함수와 sort() 메서드 차이점 (0) | 2024.10.23 |
[Python] sorted() 내장 함수 (0) | 2024.10.22 |
[Python] 파이썬 문자 개수 세기 - 문자열 count() 메서드 (0) | 2024.10.12 |