sort, sorted 차이

Leejaegun·2025년 9월 29일

코딩테스트 시리즈

목록 보기
42/49

1. sorted()

  • 내장 함수(built-in function)
  • 어떤 iterable(리스트, 튜플, 문자열, 집합, 딕셔너리 등) 도 받을 수 있음
  • 새로운 리스트를 반환 (원본은 건드리지 않음)
nums = [3, 1, 2]
new_nums = sorted(nums)

print(new_nums)  # [1, 2, 3]
print(nums)      # [3, 1, 2]  (원본 유지)

2. .sort()

  • 리스트(list)의 메서드
  • 리스트에서만 사용 가능
  • 원본 리스트 자체를 정렬하고, 반환값은 None
nums = [3, 1, 2]
nums.sort()

print(nums)      # [1, 2, 3]

3. 공통점

둘 다 정렬 기준을 지정할 수 있는 인자를 지원합니다:

  • key= : 정렬 기준 함수 지정
  • reverse=True : 내림차순 정렬
words = ["apple", "banana", "kiwi"]

print(sorted(words, key=len))   # ['kiwi', 'apple', 'banana']
words.sort(key=len, reverse=True)
print(words)                    # ['banana', 'apple', 'kiwi']

4. 차이 정리

특징sorted().sort()
대상모든 iterable리스트만 가능
반환값새 리스트 반환None 반환 (제자리 정렬)
원본 데이터변경 없음원본 리스트 변경
사용 범위함수리스트 메서드

5. 언제 뭘 쓰나?

  • 원본을 보존하면서 정렬된 결과를 얻고 싶다sorted()
  • 리스트 자체를 정렬해도 상관없다, 메모리 절약.sort()

즉:
👉 sorted()는 “복사해서 새로 정렬된 리스트”
👉 .sort()는 “원본을 제자리에서 정렬”

profile
Lee_AA

0개의 댓글