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

Python3 딕셔너리 완벽 가이드: 생성부터 수정·삭제까지

파이썬 딕셔너리란?

파이썬의 딕셔너리(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 데이터 처리, 카운팅 등 다양한 용도로 활용되므로 위 예제들을 직접 실행해 보며 익혀두면 큰 도움이 됩니다.