[Python] sort(), reverse()정리

2026. 3. 27. 23:34·Python

주어진 문자열을 내림차순으로 반환하는 코딩 테스트 문제를 푸는 도중 reverse()와 sort() 사용법이 헷갈려서 정리해둔다.

sort() vs sorted()

공부하다가 제일 헷갈렸던 부분이다.

 
 
python
# sort() - 원본을 바꿔버림
arr = [3, 1, 2]
arr.sort()
print(arr)  # [1, 2, 3]

# 반환값이 None이라 이렇게 쓰면 안됨!
result = arr.sort()
print(result)  # None
 
 
python
# sorted() - 원본은 그대로, 새 리스트 반환
arr = [3, 1, 2]
result = sorted(arr)
print(arr)     # [3, 1, 2] 그대로
print(result)  # [1, 2, 3]

문자열은 sort()를 쓰면 AttributeError가 나서 sorted()만 써야 한다.

 
 
python
s = "Zbcdefg"
s.sort()       # AttributeError!
sorted(s)      # 가능

reverse=True

sort(), sorted() 둘 다 옵션으로 넣으면 내림차순 정렬된다.

 
 
python
arr = [3, 1, 2]
sorted(arr, reverse=True)  # [3, 2, 1]

문자열 내림차순 정렬할 때 이렇게 썼다.

 
 
python
s = "Zbcdefg"
''.join(sorted(s, reverse=True))  # 'gfedcbZ'

대문자가 소문자보다 작게 정렬되는 이유는 아스키 코드 때문이다. A=65, Z=90인데 a=97, z=122라서 숫자가 작은 대문자가 앞으로 간다.


reverse() vs reversed()

sort vs sorted랑 똑같은 관계다.

 
 
python
# reverse() - 원본 변경, 반환값 None
arr = [1, 2, 3]
arr.reverse()
print(arr)  # [3, 2, 1]
 
 
python
# reversed() - 원본 유지, 이터레이터 반환
arr = [1, 2, 3]
result = list(reversed(arr))
print(arr)     # [1, 2, 3] 그대로
print(result)  # [3, 2, 1]

정렬이랑 뒤집기는 다르다

 
 
python
arr = [3, 1, 2]
sorted(arr, reverse=True)  # [3, 2, 1] 크기순 정렬
list(reversed(arr))        # [2, 1, 3] 순서만 뒤집기

헷갈리지 말자

 
 
python
# 이렇게 쓰면 None 나옴 주의!
result = arr.sort()
result = arr.reverse()

# 이렇게 써야 함
arr.sort()
result = arr

# 또는
result = sorted(arr)
result = list(reversed(arr))

'Python' 카테고리의 다른 글

[Python] 성능 병목을 찾는 방법 '프로파일링'  (0) 2026.06.28
[Python] Selenium에서의 innerHTML, innerText, textContent 차이점  (0) 2026.03.18
[Python] 정규표현식  (0) 2026.03.13
[Python] pytest를 이용한 테스트 코드 작성법  (0) 2026.03.11
[Python] json.dumps() 사용법, 사용이유  (1) 2026.03.10
'Python' 카테고리의 다른 글
  • [Python] 성능 병목을 찾는 방법 '프로파일링'
  • [Python] Selenium에서의 innerHTML, innerText, textContent 차이점
  • [Python] 정규표현식
  • [Python] pytest를 이용한 테스트 코드 작성법
byhy0
byhy0
byhy0 님의 블로그 입니다.
  • byhy0
    byhy0 님의 블로그
    byhy0
  • 전체
    오늘
    어제
    • 분류 전체보기 (62)
      • T아카데미 (4)
      • Project (2)
      • Airflow (4)
      • Python (16)
        • Django (0)
      • Java (1)
      • Spring (4)
        • Board Project (3)
      • SQL (3)
      • Docker (1)
      • 클라우드 (2)
      • Error (3)
      • Git (5)
      • 코딩테스트 (12)
        • SQL (5)
        • Python (7)
      • TIL (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Spring
    T아카데미#SK플래닛#데이터엔지니어2기
    #Python #정규표현식 #Regex #웹크롤링 #데이터처리
    venv #파이썬 가상환경 #가상환경
    BigQuery #SQL
    티스토리챌린지
    Git #설치법
    python #pytest #테스트
    오블완
    vscode #git #git연동법
    git #github #repository 생성
    programmers #SQL #코딩테스트
    T아카데미 #2주차 회고 #데이터 엔지니어 2기
    #클라우드 #클라우드컴퓨팅 #CloudComputing #온프레미스 #CS기초 #IT인프라 #서버
    게시판
    push #pull #git연동
    T아카데미 #SK플래닛 #회고 #1주차
    T아카데미 #면접 #데이터 엔지니어 #K-Digital Traning
    programmers # 코딩테스트 #sql
    API 요청 #API
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
byhy0
[Python] sort(), reverse()정리
상단으로

티스토리툴바