본문 바로가기

Univ/Python Programming

Python `sort()`와 `sorted()`의 차이

핵심만 정리한다.


sort()와 sorted() 차이 요약

대상 리스트 메서드 내장 함수
원본 변경 O X
반환값 없음 (None) 정렬된 새 리스트
사용 가능 대상 리스트만 iterable 전체

1. sort()

arr = [3, 1, 2]
arr.sort()
  • 리스트 자체를 정렬한다.
  • 원본 데이터가 변경된다.
  • 반환값은 없다.

사용 형태:

리스트.sort()

2. sorted()

arr = [3, 1, 2]
new_arr = sorted(arr)
  • 정렬된 새 리스트를 반환한다.
  • 원본은 유지된다.

사용 형태:

sorted(iterable)

3. 핵심 차이 예시

arr = [3, 1, 2]

a = arr.sort()
print(arr)  # [1, 2, 3]
print(a)    # None
arr = [3, 1, 2]

a = sorted(arr)
print(arr)  # [3, 1, 2]
print(a)    # [1, 2, 3]

4. 실수 포인트

sort()를 변수에 담는 경우

arr = [3, 1, 2]
result = arr.sort()
  • result는 None이 된다.

리스트가 아닌 곳에 sort() 사용

sorted_tuple = (3, 1, 2)
sorted_tuple.sort()
  • 튜플에는 sort() 없음 → 에러

한 줄 정리

👉 sort()는 원본을 바꾸고, sorted()는 새 리스트를 만든다