sorted() 정렬 순서 지정하기 - key function
정리 이유
프로그래밍 문제를 해결하기 위해 필요해서 Node() 클래스를 직접 정의해서 사용하였는데, 그 노드가 담긴 리스트를 정렬하려니,
그냥 sorted()를 쓰면
TypeError: ‘<’ not supported between instances of ‘Node’ and ‘Node’
와 같은 에러 메세지가 뜬다.
Node 클래스는 직접 만든 클래스라 sorted()의 내부 함수로는 어떤 기준으로 정렬해야할 지 알 수 없기 때문이다.
그래서 검색해보니, sorted()의 key 매개변수를 이 순서를 지정해 줄 수 있다는 사실을 알게 되어 정리해둔다.
sorted() 정렬 순서 지정하기
sorted(list)
- 오른차순으로 정렬된다.
sorted(list, reversed=True)
- 내림차순으로 정렬된다.
sorted(list, key=function())
- function()내용에 따라 오름차순으로 정렬된다.
sorted(list, reversed=True, key=function())
- fucnction()내용에 따라 내림차순으로 정렬된다.