정렬 (Sorting) (5) - 파이썬의 정렬 라이브러리

2023. 8. 5. 14:42· Algorithm

정렬 알고리즘은 앞선 게시물에서 다양하게 배웠고, 또한 그보다 많은 수의 알고리즘이 존재하기도 한다. 이러한 알고리즘을 사용해서 정렬을 수행하는 것도 좋지만 많은 경우에서 파이썬에서 기본적으로 제공하는 정렬 알고리즘을 사용하는 편이 유리할 수 있다. 

- 파이썬은 기본 정렬 라이브러리인 sorted() 함수를 제공한다. 이는 퀵 정렬과 비슷한 정렬 방식인 병합 정렬을 기반으로 만들었는데 일반적으로 퀵 정렬보다는 느리지만 최악의 경우에서도 O(NlogN)을 보장한다는 장점을 가지고 있다. sorted() 함수는 리스트, 딕셔너리, 집합 자료형 등을 입력받아서 정렬된 리스트를 반환한다는 특징을 가지고 있다.

리스트 = sorted(정렬하려는 자료형)

- 이와는 조금 다르게 리스트에서 내부적으로 정렬을 수행하는 방법도 존재한다. 바로 리스트 객체의 내장 함수인 sort()를 이용하는 것이다. 이 내장 함수를 사용하면 새로운 리스트가 반환되지 않고 기존 리스트의 요소가 내부적으로 정렬된다.

리스트.sort()


이 함수들을 사용할 때 key 매개변수를 입력으로 받을 수 있다. key 값으로는 하나의 함수가 들어가야 하며, 이는 정렬의 기준이 된다. 만약 데이터가 튜플의 형태로 리스트에 저장되어 있을 때를 가정해보자. 각 데이터 (튜플)의 두 번째 값을 기준으로 정렬을 수행하는 소스코드는 아래와 같다. 또한 key 값으로 함수가 들어가야 한다고 했으므로 이를 람다식으로 표현할 수도 있다.

 

저작자표시 (새창열림)

'Algorithm' 카테고리의 다른 글

정렬 (Sorting) (7) - 실전문제 6.3) 성적이 낮은 순서로 학생 출력하기  (0) 2023.08.05
정렬 (Sorting) (6) - 실전문제 6.2) 위에서 아래로  (0) 2023.08.05
정렬 (Sorting) (4) - 계수 정렬 (Count Sort)  (0) 2023.08.05
정렬 (Sorting) (3) - 퀵 정렬 (Quick Sort)  (0) 2023.08.05
정렬 (Sorting) (2) - 삽입 정렬 (Insertion Sort)  (0) 2023.08.05
'Algorithm' 카테고리의 다른 글
  • 정렬 (Sorting) (7) - 실전문제 6.3) 성적이 낮은 순서로 학생 출력하기
  • 정렬 (Sorting) (6) - 실전문제 6.2) 위에서 아래로
  • 정렬 (Sorting) (4) - 계수 정렬 (Count Sort)
  • 정렬 (Sorting) (3) - 퀵 정렬 (Quick Sort)
공대생안씨
공대생안씨
전자공학과 학부생의 코딩 일기
티스토리
|
로그인
공대생안씨
공대생의 코딩 일기
공대생안씨
글쓰기
|
관리
전체
오늘
어제
  • All Categories (153)
    • Spring Boot (46)
      • JPA (7)
      • Lombok (2)
    • Java (21)
    • DevOps (3)
      • CI,CD (8)
      • Monitoring (2)
    • Database (7)
      • MySQL (5)
      • MongoDB (1)
      • H2 (1)
    • Trouble Shooting (5)
    • FE (4)
    • IntelliJ (3)
    • Git (3)
    • Algorithm (41)

블로그 메뉴

  • 홈
  • 태그
  • Github

공지사항

인기 글

hELLO · Designed By 정상우.v4.2.2
공대생안씨
정렬 (Sorting) (5) - 파이썬의 정렬 라이브러리
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.