본문 바로가기
방구석코딩/파이썬 기초문법

[파이썬] lambda(람다) 함수 사용법, 이름없는 함수(익명함수)

by 석세상 2024. 3. 18.
반응형

파이썬에서 이름없는 함수, 익명함수인 람다 함수 사용법에 대해 알아보도록 하겠습니다.

파이썬 익명함수인 lambda 함수 사용법

 

 

람다 함수란

파이썬에서 "lambda" 함수는 이름이 없는 함수인 익명 함수를 만드는 간결한 방법입니다. 이상하게 들릴 수도 있지만 생각보다 어렵지 않습니다. " lambda" 함수에 대해 단계별로 풀어보겠습니다.

 

람다 함수의 표현법

  • lambda: 람다 함수의 시작을 나타내는 키워드입니다.
  • 인수: 함수가 사용하는 입력 매개변수입니다.
  • 표현식: 함수의 결과입니다.

 

lambda함수의 예시

"lambda" 함수의 성능을 직접 확인할 수 있는 몇 가지 실제 사례를 살펴보겠습니다.

 

예 1: 두 숫자 더하기

add_numbers = lambda x, y: x + y
result = add_numbers(3, 5)
print(f"The sum is: {result}")

이 예에서는 두 개의 매개변수를 사용하고 그 합계를 반환하는 람다 함수(add_numbers)를 정의합니다. 그러면 결과가 인쇄됩니다.

 

예시 2: 정사각형 찾기

square = lambda x: x ** 2
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(square, numbers))
print(f"Squared numbers: {squared_numbers}")

여기서는 map 함수를 사용하여 목록에 있는 각 요소의 제곱을 찾기 위해 람다 함수를 사용합니다.

 

람다를 사용해야 하는 경우

lambda 함수의 장점은 단순성과 유연성에 있습니다. 이는 일반적으로 'map', 'filter' 및 'reduce'와 같은 기능적 프로그래밍 구성에서 짧은 기간 동안 이름이 지정되지 않은 작은 함수가 필요한 시나리오에서 자주 사용됩니다.

 

예시 3: 튜플 목록 정렬

students = [("Alice", 23), ("Bob", 20), ("Charlie", 25)]
sorted_students = sorted(students, key=lambda student: student[1])
print(f"Sorted students by age: {sorted_students}")

이 예에서는 두 번째 요소(age)를 기준으로 튜플 목록을 정렬하기 위해 sorted 함수의 key 인수로 람다 함수를 사용합니다.

 

lambda의 시너지 효과

lambda의 강력한 사용 사례 중 하나는 'filter' 및 'sorted'와 같은 함수와의 원활한 통합입니다.

728x90

예 4: 짝수 필터링

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(f"Even numbers: {even_numbers}")

여기서는 목록에서 짝수를 추출하기 위한 필터링 기준으로 람다 함수를 사용합니다.

 

고려 사항

lambda는 다재다능한 도구이지만 현명하게 사용하는 것이 중요합니다. 광범위한 논리가 필요한 복잡한 작업이나 기능의 경우 명확성과 유지 관리성을 위해 명명된 기능을 정의하는 것이 더 나은 경우가 많습니다.

728x90
반응형

댓글