기본 딕셔너리
student = {
'이름': '민수',
'나이': 17,
'학교': '과학고'
}
기본 출력 순서
이름: 민수
나이: 17
학교: 과학고
Python 3.7 이상에서는 딕셔너리가 입력 순서를 유지합니다.
1. reversed()로 역순 출력
student = {
'이름': '민수',
'나이': 17,
'학교': '과학고'
}
for key in reversed(student):
print(f"{key}: {student[key]}")
출력 결과
학교: 과학고
나이: 17
이름: 민수
reversed()는 순서를 뒤집어서 출력합니다.
2. sorted()로 키 이름 순 정렬
for key in sorted(student):
print(f"{key}: {student[key]}")
출력 결과
나이: 17
이름: 민수
학교: 과학고
한글도 가나다 순으로 정렬됩니다.
3. 값(value) 기준 정렬
score = {
'국어': 80,
'수학': 95,
'영어': 70
}
for key, value in sorted(score.items(), key=lambda x: x[1]):
print(f"{key}: {value}")
출력 결과
영어: 70
국어: 80
수학: 95
x[1]은 value를 의미합니다.
4. popitem()으로 마지막 항목부터 출력
student = {
'이름': '민수',
'나이': 17,
'학교': '과학고'
}
while student:
key, value = student.popitem()
print(f"{key}: {value}")
출력 결과
학교: 과학고
나이: 17
이름: 민수
popitem()은 마지막 항목을 제거하면서 반환합니다.
5. pop()으로 특정 키를 먼저 출력
student = {
'이름': '민수',
'나이': 17,
'학교': '과학고'
}
school = student.pop('학교')
print("학교:", school)
for key, value in student.items():
print(f"{key}: {value}")
출력 결과
학교: 과학고
이름: 민수
나이: 17
원하는 키를 먼저 꺼내서 출력 순서를 조정할 수 있습니다.
6. 리스트로 변환 후 slice 사용
items = list(student.items())
for key, value in items[::-1]:
print(f"{key}: {value}")
출력 결과
학교: 과학고
나이: 17
이름: 민수
[::-1]은 리스트를 역순으로 뒤집는 슬라이싱입니다.
7. continue로 특정 항목 건너뛰기
for key, value in student.items():
if key == '나이':
continue
print(f"{key}: {value}")
출력 결과
이름: 민수
학교: 과학고
continue는 현재 반복을 건너뛰고 다음 반복으로 이동합니다.
8. break로 특정 위치에서 멈추기
for key, value in student.items():
print(f"{key}: {value}")
if key == '나이':
break
출력 결과
이름: 민수
나이: 17
break는 반복문을 즉시 종료합니다.
9. index()로 원하는 순서 출력
order = ['학교', '이름', '나이']
for key in order:
print(f"{key}: {student[key]}")
출력 결과
학교: 과학고
이름: 민수
나이: 17
원하는 순서를 직접 리스트로 지정할 수 있습니다.
10. 사용자 지정 함수로 출력 순서 바꾸기
student = {
'이름': '민수',
'나이': 17,
'학교': '과학고'
}
priority = {
'학교': 0,
'이름': 1,
'나이': 2
}
for key, value in sorted(student.items(),
key=lambda x: priority[x[0]]):
print(f"{key}: {value}")
출력 결과
학교: 과학고
이름: 민수
나이: 17
복잡한 사용자 정의 출력 순서를 만들 수 있습니다.
방법 비교 정리
| 방법 | 특징 | 추천 상황 |
|---|---|---|
| reversed() | 역순 출력 | 순서를 뒤집고 싶을 때 |
| sorted() | 자동 정렬 | 가나다 순 정렬 |
| popitem() | 마지막 항목 제거 | 스택 구조 처리 |
| pop() | 특정 키 먼저 출력 | 중요 정보 우선 출력 |
| slice[::-1] | 리스트 역순 | 간단한 역순 처리 |
| continue | 일부 건너뜀 | 특정 데이터 제외 |
| break | 중간 종료 | 일부만 출력 |
| 사용자 지정 순서 | 원하는 순서 직접 지정 | 보고서 출력 |