파이썬 lambda 함수

udonehn·2023년 9월 27일

개요

  • 람다 함수(익명 함수)는 파이썬에서 간단한 함수를 정의할 때 사용된다.
  • 주로 함수의 인자로 사용되거나 간단한 연산을 수행하는 경우에 유용하게 활용된다.
  • 숏코딩 시 유용하게 사용할 수 있다.

사용법

함수 정의

lambda 인자: 표현식
  • lambda 함수는 한 줄로 작성된다.
  • 반환되는 값을 표현식으로 나타낸다.

함수 정의와 동시에 사용

(lambda 인자: 표현식)(인자값) 

예시 1 - 두 수를 더하는 함수

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

또는, 함수 정의와 동시에 사용할 때에는 다음과 같이 사용할 수도 있다.

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

예시 2 - map() 함수와 함께 사용

numbers = [1, 2, 3, 4, 5]
doubled = list(map(lambda x: x * 2, numbers))
print(doubled)  # 출력: [2, 4, 6, 8, 10]
  • map 함수는 다음과 같이 사용한다
    • map(함수, list)

예시 3 - sorted() 함수와 함께 사용

subject_scores = [("국어", 70), ("수학", 85), ("사회", 60), ("과학", 90)]
sorted_subject_scores = sorted(subject_scores, key=lambda x : x[1])
print(sorted_subject_scores)
# 출력: [('사회', 60), ('국어', 70), ('수학', 85), ('과학', 90)]

예시 4 - 숏코딩 : 두 수를 입력받아 곱한 값을 출력

print((lambda x: x[0] * x[1])(list(map(int, (input().split())))))

예시 5 - input() 함수 재정의

input=lambda:sys.stdin.readline().rstrip()
  • 인자값은 전달하지 않는다.
  • sys.stdin.readline().rstrip()를 반환하는 함수로 재정의한다.
profile
안녕하세요. 만나서 반갑습니다.

0개의 댓글