알고리즘 PS/Sorting

파이썬의 정렬 라이브러리, sorted()함수

explorer999 2024. 3. 30. 19:35

1. sorted(array) 

 

기본값은 오름차순이다.

 

sorted(array) #asc

sorted(array, reverse=True)  #desc

 

 

2. array.sort()

 

이것도 기본값은 오름차순이다. 

 

arr.sort()    #asc

arr.sort(reverse=True)    #desc

 

이 방식은,

key 매개변수를 임력값으로 받을 수 있다.


예를 들면 리스트의 데이터가 튜플일 때. sorted(array, key=setting) 이렇게 쓸 수 있음.
근데 여기서 setting이라고 쓸 수 있는 거는, 함수 이름이어야만 한다.

array[(값1, 값2), (값1, 값2), ...]인 경우에
def setting(data):
    return data[1] 이렇게 하든지

아니면 함수 선언 안 하고 lambda함수로 바로 

sort(array, key = lambda data:data[1]) 이런 식으로 하면 됨.

 

 

 

 

* 두가지 방법 모두 시간 복잡도는 최악의 경우에도 O(NlogN)

* 문자열로 이루어진 리스트의 경우, sort() 하면 알파벳 순으로 정렬된다.