파이썬 lambda 함수란, 익명 함수(anonymous function)라고도 불리며, 일회성으로 사용되는 간단한 함수를 생성할 때 사용됩니다.
lambda 함수는 함수를 정의하고 호출하는 번거로움 없이, 한 줄의 코드로 함수를 작성할 수 있습니다.
다음은 lambda 함수의 기본 문법입니다.
lambda arguments: expression
arguments는 함수에 전달되는 매개변수(parameter)를 나타내며, expression은 함수가 수행하는 작업을 나타냅니다.
lambda 함수는 이 문법에 맞춰 작성됩니다.
다음은 lambda 함수를 사용한 간단한 예제 코드입니다.
# 두 숫자를 더하는 lambda 함수
addition = lambda x, y: x + y
print(addition(3, 5)) # 결과: 8
# 문자열을 대문자로 바꾸는 lambda 함수
uppercase = lambda s: s.upper()
print(uppercase('hello')) # 결과: 'HELLO'
위 예제에서, 첫 번째 lambda 함수는 두 개의 인수 x와 y를 더하는 함수를 정의합니다.
이 함수는 변수 addition에 할당되고, 두 숫자를 더할 때 호출됩니다.
두 번째 lambda 함수는 문자열을 대문자로 바꾸는 함수를 정의합니다.
이 함수는 변수 uppercase에 할당되고, 문자열을 대문자로 바꿀 때 호출됩니다.
lambda 함수는 일회성으로 사용되는 함수이기 때문에, 변수에 할당하거나 다른 함수의 인수로 전달하는 등 다양한 용도로 사용됩니다.
다음은 lambda 함수를 사용한 예제 코드입니다.
# 리스트에서 짝수만 필터링하는 lambda 함수
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]
# 리스트의 각 항목에 2를 곱하는 lambda 함수
numbers = [1, 2, 3, 4, 5]
doubled_numbers = list(map(lambda x: x * 2, numbers))
print(doubled_numbers) # 결과: [2, 4, 6, 8, 10]
# 람다 함수를 이용한 정렬
words = ['apple', 'banana', 'cherry', 'durian']
words.sort(key=lambda x: len(x))
print(words) # 결과: ['apple', 'cherry', 'banana', 'durian']
위 예제에서, 첫 번째 lambda 함수는 filter() 함수에 전달되어, 리스트에서 짝수만 필터링합니다.
두 번째 lambda 함수는 map() 함수에 전달되어, 리스트의 각 항목에 2를 곱합니다.
마지막으로, lambda 함수를 이용하여 리스트를 정렬하는 방법을 보여줍니다.
다음엔 Pandas Dataframe에서의 lambda 활용법에 대해 소개해겠습니다.
궁금하신 부분은 언제든 댓글로 문의주세요.
'파이썬 기초문법' 카테고리의 다른 글
URL의 이미지 로컬에 저장 방법 (0) | 2023.05.26 |
---|---|
Pandas DataFrame에서 lambda 활용하기 (1) | 2023.04.17 |
파이썬으로 구현하는 웹 크롤러 - 블로그 크롤링 예제 (0) | 2023.04.07 |
파이썬으로 시작하는 웹 스크래핑 크롤링: 기초부터 실무 응용까지 (0) | 2023.04.07 |
파이썬 네트워크 프로그래밍 초보자를 위한 가이드(소켓 프로그래밍) (0) | 2023.04.07 |