[Python] 파이썬 sort 리스트 정렬 (오름차순, 내림차순)
[Python] 파이썬 sort 리스트 정렬 (오름차순, 내림차순)
안녕하세요. BlockDMask입니다.
오늘은 리스트 본체를 정렬하는 sort 함수에 대해서 이야기해볼까 합니다.
파이썬 sort()를 사용해서 오름차순, 내림차순 정렬을 어떻게 하는지도 함께 알아보겠습니다.
<목차>
1. sort 함수 설명, 리스트 정렬 함수
1-1) sort 함수 기본
list.sort() 메서드는 리스트 자체를 정렬해주는 함수입니다.
이 메서드는 리스트 객체의 메서드로, 리스트에만 사용 가능합니다.
주의할 점:
list.sort()는 리스트를 제자리에서(in-place) 정렬하여 반환값이 없습니다.
정렬된 새 리스트가 필요하다면 sorted() 함수를 사용해야 합니다.
1-2) sort 함수 예제
# 숫자 리스트 예제
list_num = [5, 3, 8, 1, 7, 2, 6]
print("1. 숫자 리스트 정렬")
list_num.sort()
print(list_num)
# 문자열 리스트 예제1 (소문자 알파벳)
list_str1 = ['banana', 'apple', 'cherry', 'date']
print("\n2. 소문자 문자열 리스트 정렬")
list_str1.sort()
print(list_str1)
# 문자열 리스트 예제2 (대문자 포함)
list_str2 = ['Banana', 'apple', 'Cherry', 'date']
print("\n3. 대소문자 문자열 리스트 정렬")
list_str2.sort()
print(list_str2)
예제 설명:
- 1. 숫자 리스트 정렬:
[5, 3, 8, 1, 7, 2, 6]→[1, 2, 3, 5, 6, 7, 8]
숫자는 작 → 큰 순서로 자동 정렬됩니다.
- 2. 소문자 문자열 정렬:
['banana', 'apple', 'cherry', 'date']→['apple', 'banana', 'cherry', 'date']
알파벳 기준으로 정렬됩니다.
- 3. 대소문자 혼합 문자열 정렬:
['Banana', 'apple', 'Cherry', 'date']→['Banana', 'Cherry', 'apple', 'date']
대문자가 먼저 나오는 이유는 아스키코드 순서 기준으로 정렬되기 때문입니다.
(대문자 A~Z: 65~90, 소문자 a~z: 97~122)
2. 파이썬 오름차순, 내림차순 정렬 (reverse 매개변수)
list.sort()에는 reverse라는 매개변수가 존재합니다.
reverse=False(기본값): 오름차순 정렬reverse=True: 내림차순 정렬
scores = [70, 85, 90, 60, 95]
# 오름차순 정렬
scores_asc = scores.copy()
scores_asc.sort()
print("오름차순 정렬:")
print(scores_asc)
# 내림차순 정렬
scores_desc = scores.copy()
scores_desc.sort(reverse=True)
print("\n내림차순 정렬:")
print(scores_desc)
예제 설명:
- 오름차순 정렬:
[70, 85, 90, 60, 95]→[60, 70, 85, 90, 95]
점수가 낮은 순서로 정렬됩니다. - 내림차순 정렬:
[70, 85, 90, 60, 95]→[95, 90, 85, 70, 60]
점수가 높은 순서로 정렬됩니다.
Tip: 정렬 전 원본 리스트를 유지하고 싶다면 copy() 메서드를 활용해 복사본을 만들어 정렬하는 것이 안전합니다.
이상, 파이썬 리스트의 정렬을 위한 sort() 함수에 대해 정리해보았습니다.
오늘도 읽어주셔서 감사합니다.
댓글
댓글 쓰기