TIL/Python

[TIL] sorted() Python

아람2 2024. 9. 13. 15:38
반응형

1181 단어 정렬을 풀면서 sorted() 개념을 정리한다 

sorted()

데이터를 정렬하는 가장 기본적인 파이썬 내장 정렬 함수
* 데이터 ; 리스트, 튜플, 문자열, 딕셔너리 

함수 포맷

sorted(iterable, key=None, reverse=False)

sorted(정렬할 데이터)

sorted(정렬할 데이터, reverse 파라미터)

sorted(정렬할 데이터, key 파라미터)

sorted(정렬할 데이터, key 파라미터, reverse 파라미터)

 

파라미터

1) 정렬할 데이터 ; Iterable 한 데이터 이어야 한다

 

2) Reverse 파라미터

오름차순으로 정렬할지 내림차순으로 정렬할지 정할 . 수있다

Default 는 reverse=False 

 

3) Key 파라미터

어떤 것을 기준으로 정렬할 것인가?

 

sort() 와의 차이점

리스트.sort() 는 본체의 리스트를 정렬해서 변환

sorted(리스트) 는 본체 리스트는 내버려두고, 정렬한 새로운 리스트를 반환

 

sort() 예제

a = [4, 3, 5, 1, 2]
print(f"origin               : {a}")

a.sort()
print(f"a.sort()             : {a}")

a.sort(reverse=True)
print(f"a.sort(reverse=True) : {a}")

# 결과값
origin               : [4, 3, 5, 1, 2]
a.sort()             : [1, 2, 3, 4, 5]
a.sort(reverse=True) : [5, 4, 3, 2, 1]

 

sorted() 예제

a = [4, 3, 5, 1, 2]
b = sorted(a)
c = sorted(a, reverse=True)

print(f"origin                  : {a}")
print(f"sorted(a)               : {b}")
print(f"sorted(a), reverse=True : {c}")

# 결과값
origin                  : [4, 3, 5, 1, 2]
sorted(a)               : [1, 2, 3, 4, 5]
sorted(a), reverse=True : [5, 4, 3, 2, 1]

 

lambda 를 이용한 sorted() 예제

 

* lambda 란, 익명 함수를 지칭하는 용어로, 바로 정의하여 사용할 수 있는 함수

sorted 함수의 key 인자를 lambda 로 받아 key 값을 정할 수 있다 

data_list = [(3, 6), (0, 9), (5, 4), (4, 5), (2, 7), (1, 8)]

# 첫번째 요소 x[0] 로 정렬
new_list = sorted(data_list, key=lambda x: x[0])
print(f"sorted(data_list, key=lambda x: x[0]", new_list)

# 두번째 요소 x[1] 로 정렬 
new_list = sorted(data_list, key=lambda x: x[1])
print(f"sorted(data_list, key=lambda x: x[1]", new_list)

# 결과값
sorted(data_list, key=lambda x : x[0] [(0, 9), (1, 8), (2, 7), (3, 6), (4, 5), (5, 4)]
sorted(data_list, key=lambda x : x[1] [(5, 4), (4, 5), (3, 6), (2, 7), (1, 8), (0, 9)]
반응형

'TIL > Python' 카테고리의 다른 글

[TIL] 백트래킹 BackTracking  (2) 2024.09.17
[TIL] itertools 순열 조합 구하기 Python  (0) 2024.09.13
[TIL] 큐 Queue Python  (2) 2024.09.12
[TIL] 스택 Stack Python  (1) 2024.09.11
[TIL] 재귀 함수 Recursion Function Python  (0) 2024.09.11