문법 · Python · beginner

정렬 key: 커스텀 비교

sorted(key=...)로 다키 정렬·안정 정렬을 문제에 적용합니다.

배우기 · Python 문법 · 16분 · 9/9 · 정렬 · Python

이 트랙 목차 (9)
  1. 1. 들여쓰기·타입·변수: Python 기초
  2. 2. 조건·반복: if, for, while, range
  3. 3. 리스트·슬라이스·문자열
  4. 4. 딕셔너리·집합·컴프리헨션
  5. 5. 함수·기본인자·헬퍼 나누기
  6. 6. 자주 쓰는 표준: collections 맛보기
  7. 7. 예외 기초: try · except · 입력 가드
  8. 8. itertools 맛보기: chain · product · combinations
  9. 9. 정렬 key: 커스텀 비교

sorted / list.sort

xs = sorted(xs)          # 새 리스트
xs.sort()                # 제자리

key

rows = [("b", 2), ("a", 3), ("a", 1)]
rows.sort(key=lambda r: (r[0], r[1]))
# [('a', 1), ('a', 3), ('b', 2)]

튜플 키가 사전식으로 비교됩니다. 1차 키 같으면 2차 키.

역순

reverse=True 또는 숫자 키에 음수.

안정 정렬

Python 정렬은 안정적입니다. 같은 키면 원래 순서가 유지됩니다. 다단 정렬에 유리합니다.

함정

연습

이름 점수 줄을 점수 내림차순, 동점이면 이름 오름차순으로 정렬해 출력.

한 줄

> 다키는 튜플 key, 숫자는 int로 변환.

더 깊게

읽은 뒤 연습장에서 예제 코드를 한 번 타이핑해 보세요. 눈으로만 보면 하루 뒤 사라집니다.

관련 원리 카드와 문제 태그로 바로 이어서 풀면, 문법·패턴이 한 묶음으로 남습니다.

막히면 30분 규칙: 입력을 로그로 확인 → 기대/실제 한 줄 비교 → 그래도 안 되면 배우기 레슨으로 잠시 복귀.

이 트랙을 마쳤습니다. 추천 다음: SELECT부터 JOIN·GROUP BY·서브쿼리까지, 표를 다루는 질의 문법.

관련 짧은 원리

관련 문제