파이썬 딕셔너리란?
파이썬의 딕셔너리(dictionary)는 키(key)와 값(value)을 한 쌍으로 묶어 저장하는 자료구조입니다. 파이썬에서 가장 자주 사용되는 자료구조 중 하나로, 빠른 데이터 조회와 유연한 구성이 가능하다는 장점이 있습니다.
딕셔너리는 아래와 같이 중괄호({})로 감싸서 표현합니다.
dict1 = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}키와 값은 콜론(:)으로 연결하고, 각 키-값 쌍은 쉼표로 구분합니다. 문자열 키와 값은 작은따옴표로 감싸는 것이 일반적입니다.
딕셔너리 생성하기
딕셔너리는 중괄호 안에 키-값 쌍을 직접 작성해 할당하는 방식으로 만들 수 있으며, 내장 함수인 dict() 메서드를 이용하는 방법도 있습니다.
예제
# 중괄호를 이용한 생성
dict1 = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
print(type(dict1))
print(dict1)
# dict() 메서드를 이용한 생성
dict2 = dict([('day1', 'Mon'), ('day2', 'Tue'), ('day3', 'Wed')])
print(type(dict2))
print(dict2)출력 결과
<class 'dict'>
{'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
<class 'dict'>
{'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}중첩 딕셔너리
딕셔너리는 중첩(nested) 구조로도 사용할 수 있습니다. 즉, 하나의 딕셔너리 안에 또 다른 딕셔너리를 값으로 넣을 수 있습니다. 아래 예제에서는 주말(Saturday, Sunday) 정보를 내부 딕셔너리로 만들어 외부 딕셔너리 안에 포함시켰습니다.
예제
week = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed',
'weekend': {'d1': 'Saturday', 'd2': 'Sunday'}}
print(week)출력 결과
{'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed', 'weekend': {'d1': 'Saturday', 'd2': 'Sunday'}}딕셔너리 값 접근하기
딕셔너리의 요소에 접근하려면 대괄호([]) 안에 키를 넣어 해당 값을 가져오거나, get() 메서드를 사용할 수 있습니다. 두 방식의 차이점은, 존재하지 않는 키에 접근할 때 대괄호는 KeyError를 발생시키지만 get()은 None을 반환한다는 점입니다.
예제
week = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed',
'weekend': {'d1': 'Saturday', 'd2': 'Sunday'}}
print(week['day2']) # 대괄호 사용
print(week['weekend']) # 중첩 딕셔너리 접근
print(week.get('day3')) # get() 메서드 사용출력 결과
Tue
{'d1': 'Saturday', 'd2': 'Sunday'}
Wed딕셔너리에 요소 추가하기
새로운 키-값 쌍을 지정하면 딕셔너리에 새 요소가 추가됩니다. 값으로 또 다른 딕셔너리를 넣으면 중첩 딕셔너리도 손쉽게 만들 수 있습니다.
예제
week = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
week['day4'] = 'Thu'
week['day5'] = 'Fri'
print(week)출력 결과
{'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed', 'day4': 'Thu', 'day5': 'Fri'}딕셔너리 수정하기
딕셔너리는 새 항목을 추가하거나 기존 항목의 값을 변경하는 방식으로 갱신할 수 있습니다. 기존 항목을 수정하려면 해당 키를 지정하고 새 값을 할당하면 됩니다. 이미 존재하는 키에 새 값을 할당하면 기존 값이 덮어쓰기 됩니다.
예제
week = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
week['day1'] = 'Monday'
week['day2'] = 'Tuesday'
print(week)출력 결과
{'day1': 'Monday', 'day2': 'Tuesday', 'day3': 'Wed'}딕셔너리 요소 삭제하기
특정 요소를 삭제할 때는 del 키워드를 사용합니다. del은 딕셔너리 전체를 삭제하는 데에도 사용할 수 있으며, 모든 요소만 비우고 싶다면 clear() 메서드를 사용하면 됩니다.
예제
week = {'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
print(week)
del week['day3'] # 특정 키 삭제
print(week)
week.clear() # 전체 요소 삭제
print(week)출력 결과
{'day1': 'Mon', 'day2': 'Tue', 'day3': 'Wed'}
{'day1': 'Mon', 'day2': 'Tue'}
{}마무리
지금까지 파이썬3에서 딕셔너리를 생성하고, 값을 읽고, 추가·수정·삭제하는 기본적인 방법을 살펴보았습니다. 딕셔너리는 실무에서 설정값 관리, JSON 데이터 처리, 카운팅 등 다양한 용도로 활용되므로 위 예제들을 직접 실행해 보며 익혀두면 큰 도움이 됩니다.