Dictionary(딕셔너리)
- Dictionary(딕셔너리)는 다른언어에서 hashmap, hashtable 이라고도 하며, Key-Value 형태의 값을 저장할 수 있는 자료구조이다.
- 말 그대로 사전같이 단어와 뜻을 정의할 수 있다.
(ex. 이름 : "퐝이뇽" 과 같이 key는 '이름' 이고, value는 "퐝이뇽"이 된다)
Dictionary 특징
- Set과 마찬가지로 특정 순서대로 데이터를 리턴하지 않는다(순서가 없다. index가 없다)
- Key의 값은 중복될 수 없다.
( 만약 key가 중복되면 나중에 들어오는 key의 value로 치환된다. )
- 수정이 가능하다
Dictionary 구조
- Set과 비슷하게 key 값의 해쉬값을 구한 후 해쉬값에 속해 있는 bucket에 값을 저장한다.
- 따라서 set과 마찬가지로 순서가 없고 중복된 ket값은 허용되지 않는다.
Dictionary 예시(@Python)
>>> my_dict = {1 : "one", "two" : 2, 3 : 3.0, 1: "one_one"}
>>> my_dict
{1: 'one_one', 'two': 2, 3: 3.0}
>>> for key, value in my_dict.items():
... print(f"{key} : {value}")
...
1 : one_one
two : 2
3 : 3.0
>>> my_dict[1]
'one_one'
>>> my_dict.get("two")
2
>>> my_dict[5]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 5
>>> my_dict.get(5, 0)
0
>>> my_dict[7] = "Seven"
>>> my_dict
{1: 'one_one', 'two': 2, 3: 3.0, 7: 'Seven'}
When To Use Dictionary
- 데이터베이스 처럼 키와 값을 묶어서 데이터를 표현할 때
(ex. DB table의 column과 row를 읽어들인 값을 dictionary로 변환하여 사용)