-
파이썬의 정렬 라이브러리Algorithms in Python/notes 2021. 1. 20. 15:37
파이썬의 정렬 라이브러리
sort()
기본 정렬 라이브러리 sort() 함수를 제공한다.
sort() : 병합정렬 기반으로, 퀵 정렬보단 느리지만 O(nlogn)을 보장한다.
list.sort() : 리스트 내에서 정렬한다. (여기서 list는 직접 수정이 가능하다.)
sorted(list) : 새로운 정렬 리스트를 생성한다. (여기서 list는 튜플, 딕셔너리, 문자열 등이다.)
reverse
리스트 뒤집기
# 내림차순 arr.sort(reverse=True) *sorted(arr, reverse=True)
key, lambda
s = ['가', '나다', '라', '마바아자', '차카파'] s.sort(key=len) # len에 따라 정렬
print(*sorted(arr, key=lambda x:(-x)) # 내림차순
# 1. 인덱스 1의 원소가 감소하는 순서 # 2. 위가 같으면 인덱스 2의 원소가 증가하는 순서 # 3. 위가 같으면 인덱스 3의 원소가 감소하는 순서 # 4. 위가 같으면 인덱스 0의 원소가 증가하는 순서로 정렬 arr.sort(key=lambda x:(-x[1], x[2], -x[3], x[0]))
'Algorithms in Python > notes' 카테고리의 다른 글
Union-Find 알고리즘 (0) 2021.02.07 DFS / BFS (0) 2021.01.29 이진 탐색, bisect 라이브러리 (0) 2021.01.21 정렬 (0) 2021.01.20 다이나믹 프로그래밍 (0) 2021.01.13