ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python]람다(lambda) 함수 이해하기
    코딩/파이썬 2023. 7. 29. 18:51
    반응형

    이 글에서는 Python 프로그래밍 언어에서 사용되는 람다(lambda) 함수에 대해 배울 것입니다. 초보자 분들도 쉽게 이해할 수 있도록 기본적인 개념부터 실제 사용 사례까지 자세히 설명하겠습니다. 

     

    목차

     

    Python Lambda 함수 이해하기

     

     

    1. 람다(Lambda) 함수란?

    람다(Lambda) 함수는 Python에서 사용하는 이름이 없는 익명 함수의 한 형태입니다. 익명 함수 람다는 일반적으로 한 번만 사용할 함수를 정의할 때 유용하며, 코드를 더욱 간결하게 작성하는 데 도움이 됩니다. 특히 리스트나 딕셔너리 등의 자료형과 함께 사용될 때 효과적입니다. 

     

    람다 함수는 다음과 같은 형식으로 작성합니다.

    lambda parameters: expression

     


    2. 람다(Lambda) 사용 방법

    람다 함수를 사용하는 방법은 매우 간단합니다. lambda라는 키워드 다음에 매개변수를 입력하고, 콜론(:) 다음에 반환할 연산을 적습니다. 아래 예시를 보면 더욱 이해하기 쉽습니다. 

    add = lambda x, y: x + y
    print(add(5, 3))  # 출력: 8

    lambda 함수 실행 결과

     

    위의 코드는 두 매개변수 x와 y를 받아, 그 합을 반환하는 익명 함수를 생성하고 이를 add 변수에 할당하는 것입니다. 이제 add(1, 2)와 같이 함수를 호출할 수 있습니다.

     

    익명 함수는 간단한 기능을 수행하는 함수를 빠르게 작성하거나, 다른 함수의 인자로 함수를 전달할 때 주로 사용됩니다. 하지만 복잡한 로직이나 여러 줄의 코드가 필요한 경우에는 일반적으로 명명된 함수를 사용하는 것이 좋습니다.

     

     


    3. 주요 사용 사례

    람다 함수는 많은 경우에 활용될 수 있지만, 특히 리스트나 딕셔너리 등의 자료형에 있는 요소들을 효과적으로 처리할 때 사용됩니다. 예를 들어, 리스트의 요소를 기준으로 정렬할 때 람다 함수를 활용할 수 있습니다.

     

    list1 = [{'name': 'John', 'age': 20}, {'name': 'Mike', 'age': 30}]
    list1.sort(key=lambda x: x['age']) # lambda 함수를 parameter로 넘긴다.
    print(list1)  # 출력: [{'name': 'John', 'age': 20}, {'name': 'Mike', 'age': 30}]

    위 예시에서는 리스트의 각 요소인 딕셔너리를 나이('age')를 기준으로 정렬하였습니다.

     

    아래와 같이 filter() 함수와도 같이 사용할 수 있습니다. 

     

    filter() 함수는 시퀀스(리스트, 튜플 등)의 각 요소에 대해 조건을 검사하고, 그 조건을 만족하는 요소만을 선택합니다. 람다 함수를 사용하면 이러한 조건을 간단하게 표현할 수 있습니다.

    예를 들어, 리스트에서 홀수만을 선택하려면 다음과 같이 작성할 수 있습니다:

     

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

     

     


    4. 사용 시 주의할 점

    람다 함수는 간결함과 편리함 때문에 많이 사용되지만, 주의할 점이 있습니다. 복잡한 로직이나 여러 줄의 코드를 작성해야 하는 경우에는 일반 함수를 사용하는 것이 더 가독성이 높습니다. 또한, 람다 함수는 함수 내에서 변수를 생성하거나 저장할 수 없으므로, 이러한 기능이 필요한 경우에는 일반 함수를 사용하는 것이 적절합니다.

     

     

     


    이상으로 Python의 람다 함수에 대해 알아보았습니다. 

     

    반응형

    댓글

Designed by Tistory.