Python의 데이터 구조를 활용해 데이터를 분석하다 보면 sooner or later 딕셔너리(dictionary)에 저장된 키(key)와 값(value)에 접근해야 하는 상황을 마주하게 됩니다. 다행히 Python은 이를 위한 다양한 방법을 제공하는데, 이 글에서는 가장 많이 쓰이는 세 가지 접근 방식을 예제 코드와 함께 살펴보겠습니다.
1. for 루프 활용하기
가장 기본적인 방법은 for 루프를 사용하는 것입니다. 딕셔너리를 직접 순회하면 각 인덱스 위치에서 키와 값을 모두 얻을 수 있습니다.
예제
dictA = {1:'Mon',2:'Tue',3:'Wed',4:'Thu',5:'Fri'}
# 주어진 딕셔너리
print("Given Dictionary: ",dictA)
# 모든 키와 값 출력
print("Keys and Values: ")
for i in dictA :
print(i, dictA[i])실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Given Dictionary: {1: 'Mon', 2: 'Tue', 3: 'Wed', 4: 'Thu', 5: 'Fri'}
Keys and Values:
1 Mon
2 Tue
3 Wed
4 Thu
5 Fri2. 리스트 컴프리헨션(List Comprehension) 활용하기
이 방식에서는 키를 마치 리스트의 인덱스처럼 취급합니다. print 문 안에서 키와 값을 하나의 쌍(pair)으로 표현하고, for 루프와 함께 작성하여 한 줄로 깔끔하게 처리할 수 있습니다.
예제
dictA = {1:'Mon',2:'Tue',3:'Wed',4:'Thu',5:'Fri'}
# 주어진 딕셔너리
print("Given Dictionary: ",dictA)
# 모든 키와 값 출력
print("Keys and Values: ")
print([(k, dictA[k]) for k in dictA])실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Given Dictionary: {1: 'Mon', 2: 'Tue', 3: 'Wed', 4: 'Thu', 5: 'Fri'}
Keys and Values:
[(1, 'Mon'), (2, 'Tue'), (3, 'Wed'), (4, 'Thu'), (5, 'Fri')]3. dict.items() 메서드 활용하기
딕셔너리 클래스에는 items()라는 전용 메서드가 내장되어 있습니다. 이 메서드를 호출하면 키-값 쌍들을 반환하므로, 이를 순회하면서 각각의 키와 값을 손쉽게 가져올 수 있습니다. 실무에서는 가독성과 효율성 면에서 이 방법이 가장 널리 권장됩니다.
예제
dictA = {1:'Mon',2:'Tue',3:'Wed',4:'Thu',5:'Fri'}
# 주어진 딕셔너리
print("Given Dictionary: ",dictA)
# 모든 키와 값 출력
print("Keys and Values: ")
for key, value in dictA.items():
print (key, value)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Given Dictionary: {1: 'Mon', 2: 'Tue', 3: 'Wed', 4: 'Thu', 5: 'Fri'}
Keys and Values:
1 Mon
2 Tue
3 Wed
4 Thu
5 Fri마무리
정리하면, for 루프는 초보자에게 직관적이고, 리스트 컴프리헨션은 간결한 한 줄 처리에 유리하며, items() 메서드는 키와 값을 동시에 언패킹(unpacking)할 수 있어 가장 Pythonic한 방식으로 평가받습니다. 상황과 코드 스타일에 맞게 적절한 방법을 선택해 활용하시기 바랍니다.