새소식

개발+공부/Python 파이썬

[Python] sorted()로 정렬하기

  • -
728x90

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]))

내림차순으로 정렬하고 싶은 항목 앞에  - 를 추가하면,  해당 항목만 내림차순으로 정렬된다.

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.