sorted( )
파이썬 내장함수 sorted()는 iterable 객체로부터 정렬된 리스트를 생성한다.
리스트의 sort()함수가 list객체만 지원하는 반면, sorted()는 iterable한 객체(list, dictionary, set 등)라면 전부 지원된다.
sorted([5, 2, 4, 1, 3])
output:
[1, 2, 3, 4, 5]
key와 lambda
key=lambda x: x 를 활용하여 iterable 객체를 정렬하는 기준을 정의할 수 있다.
words = [
(4, "more"),
(3, "but"),
(5, "hello"),
(4, "what"),
]
sorted(words, key=lambda word: (word[0], word[1]))
output-words:
[(3, 'but'), (4, 'more'), (4, 'what'), (5, 'hello')]
word[0]과 word[1]을 기준으로 정렬되었음을 확인할 수 있다.
여러 항목으로 정렬 시, 특정 항목만 내림차순 정렬
sorted(list_, key=lambda x:(-x[1], x[0]))
내림차순으로 정렬하고 싶은 항목 앞에 - 를 추가하면, 해당 항목만 내림차순으로 정렬된다.