Python컬렉션과 문자열

정렬과 key 함수

`sorted()`와 `list.sort()` 그리고 `key` 함수를 이용해 원하는 기준으로 정렬하는 Python 기본 패턴입니다.

마지막 수정 2026년 3월 19일

기본 패턴

python
items = ["pear", "apple", "banana"]

print(sorted(items))
print(sorted(items, key=len))

설명

  • sorted()는 새 정렬 결과를 만들고, list.sort()는 원본 리스트 자체를 바꿉니다.
  • 기본 정렬은 오름차순이며, reverse=True로 내림차순 정렬이 가능합니다.
  • key 함수는 각 원소에서 비교 기준값을 뽑아내는 역할을 합니다.
  • 복잡한 데이터를 정렬할 때는 원소 자체보다 "무엇을 기준으로 볼지"를 분리하는 것이 중요합니다.

짧은 예제

python
students = [
    {"name": "Mina", "score": 90},
    {"name": "Jin", "score": 75},
    {"name": "Ara", "score": 88},
]

ranked = sorted(students, key=lambda item: item["score"], reverse=True)

빠른 정리

표현특징
sorted(seq)새 정렬 결과 반환
seq.sort()원본 리스트 변경
key=len길이를 기준으로 정렬
reverse=True내림차순 정렬

공식 참고: Data Structures

주의할 점

정렬 기준이 없으면 Python이 객체를 직접 비교하려다 오류를 낼 수 있습니다. 딕셔너리, 사용자 정의 객체처럼 비교 규칙이 분명하지 않은 경우 key를 명시하는 편이 안전합니다.