파이썬 딕셔너리(Dictionary)의 요소에 접근하려면 익숙한 대괄호([]) 안에 키(key)를 넣어 해당 값을 가져오면 됩니다.
기본 사용 예제
다음은 대괄호를 이용해 딕셔너리 값에 접근하는 간단한 예제입니다.
#!/usr/bin/python3
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print("dict['Name']: ", dict['Name'])
print("dict['Age']: ", dict['Age'])실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
dict['Name']: Zara dict['Age']: 7
존재하지 않는 키에 접근할 때
딕셔너리에 포함되어 있지 않은 키로 데이터에 접근하려고 하면 다음과 같이 KeyError 오류가 발생합니다.
예제
#!/usr/bin/python3
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print("dict['Alice']: ", dict['Alice'])실행 결과
위 코드를 실행하면 다음과 같이 KeyError가 발생하고 프로그램이 비정상 종료됩니다.
dict['Alice']:
Traceback (most recent call last):
File "test.py", line 4, in <module>
print("dict['Alice']: ", dict['Alice'])
KeyError: 'Alice'KeyError 방지하기: get() 메서드 활용
키가 존재하지 않을 때 프로그램이 중단되지 않도록 하려면 get() 메서드를 사용하는 것이 좋습니다. 키가 존재하면 해당 값을 반환하고, 존재하지 않으면 None 또는 지정한 기본값을 반환합니다.
print(dict.get('Alice')) # None 출력
print(dict.get('Alice', '값 없음')) # 기본값 '값 없음' 출력또한 in 연산자를 사용해 키의 존재 여부를 미리 확인한 후 접근하는 방법도 안전합니다.
if 'Alice' in dict:
print(dict['Alice'])
else:
print('해당 키가 존재하지 않습니다.')