Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 딕셔너리에서 키와 값에 접근하는 3가지 방법

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 Fri

2. 리스트 컴프리헨션(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한 방식으로 평가받습니다. 상황과 코드 스타일에 맞게 적절한 방법을 선택해 활용하시기 바랍니다.