sorted() 함수와 람다 사용하기
람다 함수의 가장 일반적인 사용 사례 중 하나는 고차 함수 (higher-order functions, 다른 함수를 인수로 받는 함수) 를 위한 빠르고 인라인 (inline) 함수 역할을 하는 것입니다. 대표적인 예가 Python 의 내장 함수인 sorted() 함수인데, 이 함수는 key 인수를 받을 수 있습니다. key는 정렬 비교를 수행하기 전에 각 요소에 대해 호출될 함수를 지정합니다.
각 튜플 (tuple) 이 제품과 가격을 나타내는 튜플 리스트가 있다고 가정해 봅시다. 이 리스트를 가격을 기준으로 정렬하고 싶습니다.
편집기에서 ~/project/lambda_sorted.py 파일을 엽니다. 다음 코드를 추가하십시오.
## A list of tuples (product, price)
products = [('Laptop', 1200), ('Mouse', 25), ('Keyboard', 75)]
## Sort the list by price (the second element of each tuple) using a lambda function
sorted_products = sorted(products, key=lambda item: item[1])
## Print the sorted list
print(sorted_products)
이 코드에서 key=lambda item: item[1]은 sorted()에게 각 튜플의 두 번째 요소 (item[1], 즉 가격) 를 정렬 기준으로 사용하도록 지시합니다. 이는 def를 사용하여 별도의 함수를 정의하는 것보다 훨씬 간결합니다.
파일을 저장하고 터미널에서 실행하십시오.
python3 ~/project/lambda_sorted.py
제품 리스트가 오름차순으로 가격별로 정렬된 것을 볼 수 있습니다.
[('Mouse', 25), ('Keyboard', 75), ('Laptop', 1200)]
이 패턴은 복잡한 데이터 구조를 간단하고 읽기 쉬운 방식으로 정렬하는 데 매우 일반적이고 유용합니다.