without haste but without rest

[python] sort 메소드, sorted 함수에서 lambda 활용하기 ★ 본문

ProgrammingLanguage/Python

[python] sort 메소드, sorted 함수에서 lambda 활용하기 ★

JinungKim 2020. 4. 3. 23:55
# input data
mylist = [ ('a', [1, 2, 3]), ('b', [2, 3, 4]), ('c', [5, 6, 7]) ]

mylist.sort(key=lambda x: max(x[1]))

 

과제 하다가 람다식까지 찾을 줄 상상도 못했다.

근데 이건 나중에 코테에서 요긴하게 써먹을 것 같다.

 

sort나 sorted 함수의 키 옵션에 lambda 를 써서 위처럼 정렬을 시킬 수가 있다. 위 코드 같은 경우에는 정렬시킬 기준이 리스트의 각 요소의 1번째 요소들 중에서 최대 값을 찾고 이를 기준으로 정렬시키라는 의미다. 즉 mylist의 각 요소(인자)에서의 1번째는 리스트 형태인 [1, 2, 3] , [2, 3, 4], [5, 6, 7] 이며 각각 최대 값인 3 4 7을 기준으로 정렬시킨다.

 

즉 X: X에서 앞의 X는 인자를 의미하고, 뒤의 X는 조건이다. 

Comments