Python 리스트 정렬 방법 2가지

리스트의 내용을 정렬해야 하는 경우가 있습니다. Python 리스트 정렬 방법을 살펴보겠습니다.

Python 리스트 정렬 방법

Python에서 리스트를 정렬하는 방법에는 여러가지가 있습니다. 여기에서는 list.sort() 메서드와 sorted() 함수를 이용하는 방법을 알아보겠습니다.

list.sort() 메서드

list.sort() 메서드이므로 리스트에만 적용이 가능합니다. list.sort()를 이용하는 방법은 매우 간단한 방법이지만 불편한 점이 있습니다. 원본 리스트의 내용 자체를 정렬된 상태로 바꾸어 버리기 때문에 정렬이 안된 원본 리스트를 이용해야 하는 상황이라면 list.sort() 메서드의 사용은 다소 불편할 수 있습니다.

original_list = [3, 1, 6, 2, 4]
original_list.sort()
print(original_list)
Python

위의 코드를 실행하면 original_list 자체가 변경된 것을 확인할 수 있습니다.

그림 1. Python 리스트 정렬: list.sort() 메서드 사용
그림 1. Python 리스트 정렬: list.sort() 메서드 사용

그렇다면 원본 리스트가 변경되지 않게 하려면 어떻게 해야 할까요?

sorted() 함수

sorted() 함수를 통해서 정렬된 결과를 돌려줄 때에는 원본을 건드리지 않습니다. 따라서 sorted()를 이용하면 원본 리스트를 보존할 수 있습니다. 코드를 통해서 확인해 보도록 하겠습니다.

original_list = [3, 1, 6, 2, 4]
result = sorted(original_list)
print(original_list)
print(result)
Python

아래의 결과를 보면 알 수 있듯, original_list는 원본 그대로임을 확인할 수 있으며, result에는 정렬된 결과가 들어있음을 확인할 수 있습니다.

그림 2. Python 리스트 정렬: sorted() 함수 사용
그림 2. Python 리스트 정렬: sorted() 함수 사용

역정렬 방법

list.sort() 메서드와 sorted() 함수는 모두 reverse 파라미터를 통해서 정렬 방향을 반대로 설정할 수 있습니다. reverse 파라미터는 bool 값을 받을 수 있습니다. 아래 코드에서는 sorted()를 기준으로 작성해 보겠습니다.

original_list = [3, 1, 6, 2, 4]
result = sorted(original_list, reverse=True)
print(result)
Python

실행한 결과는 아래 그림과 같이 리스트가 역순으로 정렬된 것을 확인할 수 있습니다.

그림 3. Python 리스트 정렬: 역정렬 방법(sorted 활용)
그림 3. Python 리스트 정렬: 역정렬 방법(sorted 활용)

관련 자료

Python Sorting Techniques 페이지를 참고했습니다.

같이 읽으면 좋은 글

Leave a Comment