파이썬 기초문법

파이썬(Python) lambda 함수의 기초 활용법

Family in August 2023. 4. 17. 09:08
반응형

파이썬 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 활용법에 대해 소개해겠습니다.
궁금하신 부분은 언제든 댓글로 문의주세요.

반응형