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()내용에 따라 내림차순으로 정렬된다.