딕셔너리 순서 바꾸어 출력하는 방법 10가지

pop(), break, continue, slice, sorted(), reversed() 등 다양한 활용

기본 딕셔너리

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 중간 종료 일부만 출력
사용자 지정 순서 원하는 순서 직접 지정 보고서 출력