Python

파이썬 lambda

ardoh 2024. 2. 24. 22:20

파이썬에서는 lambda 키워드를 통해 이름이 없는 익명 함수를 만들 수 있다. 람다 함수는 일반적인 함수와 달리 def 키워드를 사용하지 않고, 한 줄로 간단하게 표현할 수 있다. 이로 인해 코드가 간결해지고 메모리를 절약할 수 있다. 주로 간단한 연산이나 정렬을 할 때 사용한다. 

 

lamda 매개변수 : 표현식 (결과)

 

람다 함수는 정의와 동시에 사용할 수 있다. 다만, 이렇게 사용하면 나중에 다시 사용할 수는 없다. 

(lambda x : x+1)(3)
# 4

 

물론, 변수에 담는 것도 가능하다. 

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

 

 

🌼 활용: max 함수의 key

 

디폴트 - max 함수를 사용하면 배열에서 가장 큰 수를 찾아준다. 만약 2차원 배열이라면 첫 번째 인자를 기준으로 최댓값을 찾아준다. 

max([1, 2, 3, 4, 5])   # 출력: 5

max([(1,2), (3,1) , (2,5)])   # 출력: (3,1)

 

이때 key를 사용하면 무엇을 기준으로 max 값을 구할지 설정할 수 있다. 가령 key를 len으로 설정할 수 있다. 

a = [[1, 2, 3], [1, 2, 3, 4, 5, 6, 7], [3], [7, 5, 3, 1, 2]]
max(a, key = len)

# 출력: [1, 2, 3, 4, 5, 6, 7]

 

이제 key에 lamda를 사용하면 두 번째 인자를 기준으로 최댓값을 찾는 것도 가능하다. 

a = [(0, 50), (1, 30), (2, 40), (3, 10)]
max(a, key = lambda x : x[1])

# 출력: (0, 50)

 

 

참고: https://think-tech.tistory.com/13

'Python' 카테고리의 다른 글

파이썬 가상환경 (Mac)  (0) 2025.03.22