파이썬에서 리스트를 정렬하는 방법으로는 sort(), sorted()를 이용하는 방법이 있다. 사용하는 방법이 조금씩 다르기에 각각 알아보자.
sort()와 sorted()는 똑같이 리스트를 정렬하지만 sort()는 원본 리스트 내부에서 정렬을 이루고 결과를 원본 리스트에 저장하는 방식이다.
list1 = ['g', 'x', 'e', 'd', 'b', 'j', 'a']
list2 = [6, 12, 8, 4, 10, 1]
list1.sort()
list2.sort()
print(list1)
print(list2)
## 실행 결과 ##
# ['a', 'b', 'd', 'e', 'g', 'j', 'x']
# [1, 4, 6, 8, 10, 12]
기본적으로 오름차순을 사용하지만 내림차순으로 정렬할 수도 있다.
list1 = ['g', 'x', 'e', 'd', 'b', 'j', 'a']
list1.sort(reverse = True)
print(list1)
## 실행 결과 ##
# ['x', 'j', 'g', 'e', 'd', 'b', 'a']
sorted()는 sort()와 다르게 내부에서 저장하는 것이 아니라 원본 리스트를 복사하여 정렬하고 그 리스트를 반환하는 방식을 사용한다. 그렇기에 반환받을 변수를 따로 선언해 줘야 한다.
list1 = ['g', 'x', 'e', 'd', 'b', 'j', 'a']
list2 = [6, 12, 8, 4, 10, 1]
list1 = sorted(list1)
list2 = sorted(list2)
print(list1)
print(list2)
## 실행 결과 ##
# ['a', 'b', 'd', 'e', 'g', 'j', 'x']
# [1, 4, 6, 8, 10, 12]
sort()와 마찬가지로 내림차순을 하는 방법은 똑같다.
list1 = ['g', 'x', 'e', 'd', 'b', 'j', 'a']
list1 = sorted(list1, reverse = "True")
print(list1)
## 실행 결과 ##
# ['x', 'j', 'g', 'e', 'd', 'b', 'a']