파이썬에서 딕셔너리(dictionary) 객체를 반복(순회)하는 방법은 크게 두 가지가 있습니다. 첫 번째는 keys() 메서드로 키 목록을 가져온 뒤, 각 키에 연결된 값을 조회하는 방식입니다.
1. keys() 메서드로 키와 값 출력하기
keys() 메서드는 딕셔너리의 모든 키를 반환합니다. 이 키를 이용해 인덱싱하면 해당 키에 대응하는 값을 얻을 수 있습니다.
>>> D1 = {1:'a', 2:'b', 3:'c'}
>>> for k in D1.keys():
print(k, D1[k])
1 a
2 b
3 c2. items() 메서드로 키-값 쌍 한 번에 처리하기
두 번째 방법은 딕셔너리 객체의 items() 메서드를 사용하는 것입니다. 이 메서드는 키와 값으로 구성된 튜플(tuple)들의 목록을 반환하며, 각 튜플을 두 개의 변수로 언패킹(unpacking)하여 한 번에 하나의 딕셔너리 항목씩 출력할 수 있습니다.
>>> D1 = {1:'a', 2:'b', 3:'c'}
>>> for k, v in D1.items():
print(k, v)
1 a
2 b
3 c참고: 딕셔너리 직접 순회
사실 파이썬에서는 for k in D1:처럼 딕셔너리를 직접 반복해도 기본적으로 키가 순서대로 반환됩니다. 따라서 키만 필요한 경우에는 keys()를 생략할 수 있으며, 코드가 더 간결해집니다.
>>> for k in D1: print(k, D1[k]) 1 a 2 b 3 c
값만 필요하다면 values() 메서드를 사용하면 됩니다. 상황에 맞는 메서드를 선택하면 딕셔너리 순회 코드를 더욱 효율적이고 가독성 있게 작성할 수 있습니다.