26.2 딕셔너리의 키에 접근하고 값 할당하기

딕셔너리의 키에 접근할 때는 딕셔너리 뒤에 [ ](대괄호)를 사용하며 [ ] 안에 키를 지정해주면 됩니다.

  • 딕셔너리[키]
>>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40, 'e': 50}
>>> x['a']
10
>>> x['c']
30
>>> x['e']
50

문자열 키뿐만 아니라 정수, 실수, 불로 된 키도 [ ] 안에 지정해주면 키에 접근할 수 있습니다.

>>> x = {100: 'hundred', False: 0, 3.5: [3.5, 3.5]}
>>> x[100]
'hundred'
>>> x[False]
0
>>> x[3.5]
[3.5, 3.5]

딕셔너리에 키를 지정하지 않은 상태는 딕셔너리 전체를 뜻합니다. 따라서 딕셔너리 x를 출력하면 중괄호를 포함하여 딕셔너리 전체가 출력됩니다.

>>> x = {100: 'hundred', False: 0, 3.5: [3.5, 3.5]}
>>> x
{100: 'hundred', False: 0, 3.5: [3.5, 3.5]}

이제 딕셔너리의 키에 값을 할당해보겠습니다. 딕셔너리는 [ ]로 키에 접근한 뒤 값을 할당합니다.

  • 딕셔너리[키] = 값
>>> x = {'a': 10, 'b': 20}
>>> x['a'] = 100    # 키 'a'의 값을 100으로 변경
>>> x['b'] = 200    # 키 'b'의 값을 200으로 변경
>>> x['c'] = 300    # 키 'c'를 추가하고 값 300 할당
>>> x
{'a': 100, 'b': 200, 'c': 300}

딕셔너리에서 키의 값을 출력할 때와 마찬가지로 [ ]에 키를 지정한 뒤 값을 할당하면 됩니다. 특히 딕셔너리는 없는 키에 값을 할당하면 해당 키가 추가되고 값이 할당됩니다.

그럼 없는 키에서 값을 가져오려고 하면 어떻게 될까요?

>>> x = {'a': 10, 'b': 20}
>>> x['c']
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    x['c']
KeyError: 'c'

딕셔너리는 없는 키에서 값을 가져오려고 하면 에러가 발생합니다.

참고 | 해시

딕셔너리는 해시(Hash) 기법을 이용해서 데이터를 저장합니다. 보통 딕셔너리와 같은 키-값 형태의 자료형을 해시, 해시 맵, 해시테이블 등으로 부르기도 합니다.