짧은 함수를 값처럼 전달합니다.
lambda는 표현식 하나로 익명 함수를 만듭니다. sorted의 key처럼 동작을 잠깐 전달할 때 유용합니다. 함수도 객체이므로 변수에 저장하거나 인수로 전달하고 반환할 수 있습니다.
예제에서 sorted(items, key=lambda item: item["score"]) 부분부터 찾으세요. 값을 만드는 표현식과 그 값을 다음 문장으로 넘기는 흐름을 한 줄씩 따라가면 실행 결과를 스스로 설명할 수 있습니다.
lambda에는 문장을 여러 개 넣을 수 없습니다. 로직이 복잡하거나 재사용되면 이름 있는 def 함수가 오류 메시지와 테스트에 더 유리합니다.
정렬 기준, 필터 규칙처럼 정책을 함수 인수로 받으면 핵심 알고리즘을 바꾸지 않고 동작을 교체할 수 있습니다.
이 코드는 브라우저의 실제 Python에서 실행됩니다. 먼저 현재 결과를 확인한 뒤 점수가 같을 때 이름으로도 정렬되도록 key를 튜플로 반환하세요.
map과 filter를 무조건 중첩하면 컴프리헨션보다 읽기 어려울 수 있습니다. 팀의 가독성을 기준으로 선택하세요.
직접 바꿔보세요점수가 같을 때 이름으로도 정렬되도록 key를 튜플로 반환하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.