파이썬에서 배열(리스트)의 요소를 내림차순으로 정렬해야 할 때는 sort() 메서드에 reverse 매개변수를 True로 지정하면 됩니다. 별도의 정렬 알고리즘을 직접 구현할 필요 없이 한 줄의 코드로 간단하게 처리할 수 있습니다.
예제 코드
my_list = [44, 56, 42, 31, 11, 23, 78, 89, 9, 0]
print("The list is :")
print(my_list)
my_list.sort(reverse = True)
print("The list after sorting is :")
print(my_list)실행 결과
The list is : [44, 56, 42, 31, 11, 23, 78, 89, 9, 0] The list after sorting is : [89, 78, 56, 44, 42, 31, 23, 11, 9, 0]
코드 설명
정수 값들로 이루어진 리스트를 하나 정의하고, 콘솔에 출력합니다.
정의된 리스트에 대해
sort()메서드를 호출합니다.이때
reverse매개변수를True로 설정합니다.기본값인 오름차순과 반대로, 요소들이 큰 값부터 작은 값 순서인 내림차순으로 재배열됩니다.
정렬이 완료된 리스트를 다시 콘솔에 출력하여 결과를 확인합니다.
참고: 원본 리스트를 유지하고 싶다면 sorted() 함수 사용
sort() 메서드는 원본 리스트 자체를 변경(in-place)한다는 점에 유의해야 합니다. 만약 원본 리스트를 그대로 두고 새롭게 정렬된 리스트를 얻고 싶다면, 내장 함수인 sorted()를 사용하는 것이 좋습니다.
my_list = [44, 56, 42, 31, 11, 23, 78, 89, 9, 0] sorted_list = sorted(my_list, reverse = True) print(sorted_list) # [89, 78, 56, 44, 42, 31, 23, 11, 9, 0] print(my_list) # 원본 리스트는 그대로 유지됨
두 방식 모두 시간 복잡도는 O(n log n)으로 동일하며, 상황에 맞게 선택하여 사용하면 됩니다.