[Python] 파이썬 sort 리스트 정렬 (오름차순, 내림차순)

[Python] 파이썬 sort 리스트 정렬 (오름차순, 내림차순)

안녕하세요. BlockDMask입니다.
오늘은 리스트 본체를 정렬하는 sort 함수에 대해서 이야기해볼까 합니다.
파이썬 sort()를 사용해서 오름차순, 내림차순 정렬을 어떻게 하는지도 함께 알아보겠습니다.


<목차>

  1. 파이썬 sort 함수 설명과 예제
  2. 파이썬 리스트 오름차순, 내림차순 정렬 (reverse 매개변수)


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() 함수에 대해 정리해보았습니다.
오늘도 읽어주셔서 감사합니다.

댓글

이 블로그의 인기 게시물

[Windows] 윈도우 CMD로 재부팅, 종료, 시간 설정하는 방법 (shutdown 명령어 정리)

[Python] 파이썬 주석 사용법 (한 줄 주석, 여러 줄 주석, 단축키, 들여쓰기 주의사항)

[Python] 파이썬에서 None, null, is None 차이 정리