짧은 함수를 값처럼 전달합니다.
lambda는 표현식 하나로 익명 함수를 만듭니다. sorted의 key처럼 동작을 잠깐 전달할 때 유용합니다. 함수도 객체이므로 변수에 저장하거나 인수로 전달하고 반환할 수 있습니다.
sorted의 key로 넘긴 lambda가 학생 딕셔너리에서 score 값을 꺼내고, reverse=True가 큰 점수부터 정렬합니다. 그래서 95점 지영, 88점 서준, 82점 민수 순서가 되어 ['지영', '서준', '민수']가 출력됩니다. 원본 students는 그대로 두고 sorted가 새 리스트를 돌려줍니다.
lambda에는 문장을 여러 개 넣을 수 없습니다. 로직이 복잡하거나 재사용되면 이름 있는 def 함수가 오류 메시지와 테스트에 더 유리합니다.
정렬 기준, 필터 규칙처럼 정책을 함수 인수로 받으면 핵심 알고리즘을 바꾸지 않고 동작을 교체할 수 있습니다.
map과 filter를 무조건 중첩하면 컴프리헨션보다 읽기 어려울 수 있습니다. 팀의 가독성을 기준으로 선택하세요.
직접 바꿔보세요점수가 같을 때 이름으로도 정렬되도록 key를 튜플로 반환하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.