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)]
반응형