본문 바로가기

데이터 다루기/Python

[Python] 정렬 (sort, sorted)

728x90
반응형

Python에서 정렬에 특화된 함수로 sort와 sorted가 있습니다

 

두 함수의 가장 큰 차이로는 정렬하고자 하는 데이터의 타입에 있습니다.

 

우선 sort 함수는 기본적으로 List 형태의 데이터에만 작동합니다.

 

반면에 sorted 함수는 List 뿐만 아니라 다른 데이터 타입에도 작동할 수 있습니다.

 

 

(1) 리스트 정렬

 

우선 리스트에 대해서 sort와 sorted를 사용해보겠습니다.

x = [5, 12, 8, 9, 7]
sorted(x)

[5, 7, 8, 9, 12]

 

y = [8, 2, 5, 11, 7]
y.sort()
y

[2, 5, 7, 8, 11]

 

(2) Dictionary 정렬

 

다음으로 Dictionary 타입 데이터에 특정 Key에 대해서 정렬을 할 수 있습니다.

 

footballers_goals = {'Eusebio': 120, 'Cruyff': 104, 'Pele': 150, 'Ronaldo': 132, 'Messi': 125}
sorted_footballers_by_goals = sorted(footballers_goals.items(), key=lambda x:x[1])
print(sorted_footballers_by_goals)

[('Cruyff', 104), ('Eusebio', 120), ('Messi', 125), ('Ronaldo', 132), ('Pele', 150)]

sorted 함수 안에 key 인자로 lambda를 받음으로써 각 데이터를 x라고 할 때, x[1], 즉 두번째 값을 기준으로 sorting이 진행 됩니다. 

 

실제로 결과를 보시면 goals의 값 크기에 따라 정렬이 된 것을 확인해볼 수 있습니다.

 

 

(3) 오름차순 및 내림차순 결정

 

sort 및 sorted 함수는 reverse 라는 인자를 통해서 오름차순과 내림차순을 결정할 수 있습니다.

우선 기본적으로 오름차순으로 되어있고, reverse 인자에 True 값을 입력하면 내림차순으로 변경됩니다.

 

x = [5, 12, 8, 9, 7]
sorted(x, reverse = True)

[12, 9, 8, 7, 5]

 

 

반응형

'데이터 다루기 > Python' 카테고리의 다른 글

[Python] Pandas Series 객체  (1) 2023.05.30
[Python] Array 합치기  (0) 2023.03.27
[Python] Array 정렬 (Sorting)  (0) 2023.03.16
[Python] Array 만들기  (0) 2023.03.16
[Python] Numpy란?  (0) 2023.03.15