[Python] 정렬 문법 sort() sorted() reverse

Yewon Choi·2020년 7월 6일
10

Python

목록 보기
14/29

📌 sort() VS sorted()

sort()

  • 리스트를 정렬된 상태로 변경
  • 리스트만을 위한 메소드
  • 오름차순 정렬 : sort()
  • 내림차순 정렬 : sort(reverse=True)

sorted()

  • 기존의 리스트를 변경하는 것이 아니라 정렬의 새로운 리스트를 반환
  • 어떤 이터러블 객체도 받을 수 있다
    (ex 딕셔너리 객체도 받을 수 있음)
  • 오름차순 정렬 : sorted()
  • 내림차순 정렬 : sorted(reverse=True)
>>> sorted({3: 'D', 2: 'B', 5: 'B', 4: 'E', 1: 'A'})
[1, 2, 3, 4, 5]

📝 key 매개변수

정 말 강력한 sorted와 lambda !
key 인자에 함수를 넘겨주면 해당 함수의 반환값을 비교하며 순서대로 정렬한다.

  • 오름차순 정렬 : sorted(a, key=lambda x:x[0])
  • 내림차순 정렬 : sorted(a, key=lambda x:-x[0])
    👉 와-우!!! '-' 마이너스만 붙여주면 내림차순으로 만들 수 있다 . . . !!!!
    👉 요소가 여러개일 경우 각 요소마다 정렬기준을 정해줄 수 있다. sorted(a, key=lambda x: (x[0], -x[1])
    👉 '-' 말고 reverse=True로도 내림차순 만들 수 있다.



예시



이것이 다가 아니다 ! 문자열 인덱스 기준으로 정렬도 가능하다 !


예시

예시


>>> students = [
        ('홍길동', 3.9, 2016303),
        ('김철수', 3.0, 2016302),
        ('최자영', 4.3, 2016301),
]

오름차순

>>> sorted(students, key=lambda student: student[2])
[('최자영', 4.3, 2016301), ('김철수', 3.0, 2016302), ('홍길동', 3.9, 2016303)]

내림차순

>>> sorted(students, key=lambda student: student[2], reverse=True)
[('홍길동', 3.9, 2016303), ('김철수', 3.0, 2016302), ('최자영', 4.3, 2016301)]







공부하면 공부할수록 재밌고 신기하고 놀라운 파이썬 , ,
세상 편하게 코딩할 수 있다니 감탄 또 감탄이다..
C++보다 정말 간편하다 . .😂
파이썬 최고 람다 최고 🤓

profile
https://github.com/devAon 찰나의 개발흔적을 남기는 개발블로그 입니다 🐥 https://aonee.tistory.com 에서 Velog로 블로그 이전 작업중입니다 ! 🎶

0개의 댓글