파이썬 리스트를 정렬하는 함수는 sort와 reverse가 있습니다. 그 외에도 내장 함수인 sorted가 있는데요. 함수이기 때문에 사용법은 어렵지 않으나 몇 가지 주의할 점이 있습니다. 오늘은 파이썬 정렬 함수-sort, sorted, reverse 사용법과 원하는 순서로 정렬하는 방법에 대해서 알아보겠습니다.
먼저 아래와 같은 리스트가 있다고 가정해 보겠습니다.
country_lst = ['korea', 'japan', 'usa']
1. sort / sorted
리스트 클래스에는 sort함수가 정의돼 있기 때문에, 아래와 같이 함수를 실행해서 오름차순으로 정렬할 수 있습니다. sort함수는 다른 입력파라미터는 없습니다.
country_lst.sort()
print(country_lst)
결과) ['japan', 'korea', 'usa']
이때 정렬된 값이 저장이 안 될까 봐 아래와 같이 실행하면 안 됩니다. 객체의 값이 바뀌고 반환되는 값은 없기 때문입니다.
country_lst = country_lst.sort()
위와 같이 실행하면 country_lst는 빈 값이 됩니다. 또는 파이썬 내장 함수인 sorted함수를 이용해도 됩니다.
sorted(country_lst)
이 때는 아래와 같이 변수에 저장해야 값이 유지됩니다.
country_lst = sorted(country_lst)
2. reverse / sorted
리스트를 내림차순 정렬하고 싶다면 reversed함수를 이용하면 됩니다.
country_lst.reverse()
print(country_lst)
출력하면 아래와 같이 내림차순 된 결과를 확인할 수 있습니다.
['usa', 'korea', 'japan']
sorted함수를 이용해서 내림차순 정렬을 할 수도 있는데요. reverse 입력파라미터에 True값을 넣어줍니다.
sorted(country_lst, reverse=True)
3. 원하는 순서로 정렬하기
원하는 순서로 정렬하는 방법은 여러가지가 있는데요. 일단 순서를 담고 있어야 합니다. 이를 위해 딕셔너리 자료형으로 아래와 같이 정의합니다.
p1 = {"korea": 1, "japan": 3, "usa":2}
sorted 함수를 이용하면 key값을 기준으로 정렬됩니다. 참고로 딕셔너리 자료형에는 sort함수가 정의돼 있지 않습니다.
sorted(p1)
결과) ['japan', 'korea', 'usa']
정렬 기준을 정의할 수도 있는데요. key라는 입력 파라미터에 정렬 기준을 반환하는 함수를 넣어주면 됩니다. 위의 경우에는 아래와 같이 딕셔너리 키값을 기준으로 정렬할 수 있습니다.
p1 = {"korea": 1, "japan": 3, "usa":2}
sorted(p1, key=p1.get)
결과) ['korea', 'usa', 'japan']
리스트는 sort와 reverse 함수를 이용해서 정렬할 수 있지만, sorted함수를 이용하면 자료형에 상관없이 정렬할 수 있습니다. 정렬은 내장 함수인 sorted를 이용하는 것도 좋겠습니다.
'파이썬 > 파이썬 기초' 카테고리의 다른 글
파이썬 소수점 버리고 출력 하는 2가지 방법 (0) | 2022.08.07 |
---|---|
파이썬 현재 파일 위치 읽어오는 방법 (0) | 2022.07.28 |
파이썬 기초 문법 학습, cheatsheet pdf 공부하기 (0) | 2022.07.26 |
파이썬 문자열 join VS 판다스 join 알아보기 (0) | 2022.07.25 |
파이썬 XML 파싱 쉽게 하는 방법은?! (0) | 2022.07.06 |
코랩 ipynb 파일 여는 2가지 방법은?! (2) | 2022.07.04 |
파이썬 IDE 인기 순위와 장단점, 한국에서 선호도는?! (0) | 2022.06.28 |
파이썬 GUI 추천, PySimpleGUI로 쉽게 빠르게 개발하는 방법은?! (0) | 2022.06.20 |