4.10.3. 딕셔너리(Dictionary)

딕셔너리는 변하지 않는 고유한 키(key)와 변하는 값(value)으로 맵핑되어 있는 순서가 없는 집합입니다. 각 키는 값 콜론 (:)으로 구분되고 항목은 쉼표로 구분되며 전체는 중괄호로 묶입니다. 딕셔너리 요소에 액세스하려면 대괄호를 키와 함께 사용하여 값을 가져올 수 있습니다.

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']

아래 예제와 같이 새 항목 또는 키:값 쌍을 추가하거나 기존 항목을 수정하거나 기존 항목을 삭제하여 딕셔너리를 업데이트 할 수 있습니다.

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

개별 딕셔너리 요소를 제거하거나 딕셔너리의 전체 내용을 지울 수 있습니다. del 문을 사용하여 한 번에 전체 딕셔너리를 삭제할 수도 있습니다.

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
dict.clear();     # remove all entries in dict
del dict ;        # delete entire dictionary
print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']

위의 코드를 실행하면 del dict문 실행으로 딕셔너리가 더 이상 존재하지 않기 때문에 예외 에러가 발생합니다.

dict['Age']:
Traceback (most recent call last):
   File "test.py", line 8, in <module>
      print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable

딕셔너리 키에 대해 기억해야 할 두 가지 중요한 사항이 있습니다.

- 중복 키가 허용되지 않는다. 할당 중 중복 키가 발견되면 마지막으로 할당된 값이 사용됩니다.

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print "dict['Name']: ", dict['Name']

- 키는 불변이어야 합니다. 즉, 문자열, 숫자 또는 튜플을 사전 키로 사용할 수 있지만 ['key']와 같은 것은 허용되지 않는다.

다음과 같은 딕셔너리 함수와 메서드들이 있습니다.

Last updated