[Data Structure] Dictionary(딕셔너리)

황인용·2020년 1월 27일
0
post-custom-banner

Dictionary(딕셔너리)

  • Dictionary(딕셔너리)는 다른언어에서 hashmap, hashtable 이라고도 하며, Key-Value 형태의 값을 저장할 수 있는 자료구조이다.
  • 말 그대로 사전같이 단어와 뜻을 정의할 수 있다.
    (ex. 이름 : "퐝이뇽" 과 같이 key는 '이름' 이고, value는 "퐝이뇽"이 된다)

Dictionary 특징

  • Set과 마찬가지로 특정 순서대로 데이터를 리턴하지 않는다(순서가 없다. index가 없다)
  • Key의 값은 중복될 수 없다.
    ( 만약 key가 중복되면 나중에 들어오는 key의 value로 치환된다. )
  • 수정이 가능하다

Dictionary 구조

image.png

  • 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로 변환하여 사용)
profile
dev_pang의 pang.log
post-custom-banner

0개의 댓글