>백엔드 개발 >파이썬 튜토리얼 >Python Lambda 함수 이해: 종합 가이드

Python Lambda 함수 이해: 종합 가이드

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-11 10:22:301015검색

Understanding Python Lambda Functions: A Comprehensive Guide

간단함과 가독성으로 유명한 Python은 람다 함수라는 강력한 기능을 제공합니다. 이러한 작은 익명 함수는 전체 함수 정의 없이 간단한 기능을 표현하는 간결한 방법을 제공합니다. 이 기사에서는 람다 함수가 무엇인지, 어떻게 작동하는지 살펴보고 사용 사례를 설명하는 예제를 제공합니다.

Lambda 함수란 무엇입니까?

람다 함수는 람다 키워드를 사용하여 정의된 작은 익명 함수입니다. 인수는 여러 개 사용할 수 있지만 표현식은 하나만 가질 수 있습니다. 구문은 다음과 같습니다.

lambda arguments: expression

Lambda 함수는 함수가 일급 시민으로 취급되는 함수형 프로그래밍에 특히 유용합니다. 즉, 인수로 전달하거나, 다른 함수에서 반환하거나, 변수에 할당할 수 있습니다.

Lambda 함수를 사용하는 이유는 무엇입니까?

  1. 간결함: Lambda 함수를 사용하면 한 줄로 작은 함수를 작성할 수 있으므로 코드가 더 깔끔하고 가독성이 높아집니다.
  2. 익명: 람다 함수에는 이름이 필요하지 않으므로 단기 작업에 적합합니다.
  3. 함수형 프로그래밍: map(), filter() 및 sorted()와 같은 함수와 잘 작동하므로 Python 함수형 프로그래밍 기능의 핵심 부분이 됩니다.

기본 예

1. 간단한 람다 함수

두 숫자를 더하는 기본 람다 함수를 정의하고 사용하는 방법은 다음과 같습니다.

add = lambda x, y: x + y
result = add(3, 5)
print(result)  # Output: 8

이 예에서 add 함수는 두 개의 인수를 사용하여 그 합계를 반환합니다.

2. map()과 함께 Lambda 사용하기

map() 함수는 주어진 함수를 iterable의 모든 항목에 적용합니다. 다음은 map()과 함께 람다 함수를 사용하여 목록의 숫자를 제곱하는 방법입니다.

numbers = [1, 2, 3, 4, 5]
squares = list(map(lambda x: x ** 2, numbers))
print(squares)  # Output: [1, 4, 9, 16, 25]

3. filter()와 함께 Lambda 사용하기

filter() 함수는 함수가 true를 반환하는 요소 목록을 생성합니다. 람다 함수를 사용하여 목록에서 짝수를 필터링하는 방법은 다음과 같습니다.

numbers = [1, 2, 3, 4, 5, 6]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(odd_numbers)  # Output: [1, 3, 5]

4. sorted()와 함께 Lambda 사용

람다 함수를 사용하여 목록 정렬을 맞춤설정할 수 있습니다. 예를 들어 두 번째 요소를 기준으로 튜플 목록을 정렬하려면 다음을 수행할 수 있습니다.

data = [(1, 'one'), (3, 'three'), (2, 'two')]
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)  # Output: [(1, 'one'), (3, 'three'), (2, 'two')]

5. 고차 함수의 람다

고차 함수는 다른 함수를 인수로 사용할 수 있는 함수입니다. 다음은 이를 보여주는 예입니다.

def apply_function(f, x):
    return f(x)

result = apply_function(lambda x: x * 2, 10)
print(result)  # Output: 20

6. 조건식의 람다

Lambda 함수에는 조건부 논리도 포함될 수 있습니다. 두 값 중 최대값을 반환하는 람다 함수를 정의하는 방법은 다음과 같습니다.

max_value = lambda a, b: a if a > b else b
print(max_value(10, 20))  # Output: 20

결론

Python 람다 함수는 간결하고 표현력이 풍부한 코드를 작성하기 위한 강력한 도구입니다. 이를 통해 개발자는 전체 함수 정의에 대한 오버헤드 없이 다양한 컨텍스트에서 사용할 수 있는 작고 일회용 함수를 만들 수 있습니다. 람다 함수는 일반 함수를 대체하지는 않지만 단순성과 간결성이 필요한 상황에서는 매우 중요합니다.

람다 함수를 코드에 통합하면 가독성을 높이고 Python에서 함수형 프로그래밍 작업을 더욱 효율적으로 수행할 수 있습니다. map(), filter() 또는 사용자 정의 고차 함수와 함께 사용하는 경우 람다 함수는 Python의 다용도 툴킷의 필수 부분입니다.

위 내용은 Python Lambda 함수 이해: 종합 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.