Develop/Python

[자료구조] [ Python ] 딕셔너리 Dictionary 사용법

은세라 2021. 7. 31. 19:36

1. 정의

dict = {
  "name": "eunsera",
  "job": "Programmer",
  "age": 25
}

Key와 Value값으로 이루어진 자료구조

- Key를 통해 Value에 접근할 경우 탐색 시간이 상수시간 내로 효율적임

2. 선언

dic = {}

Array의 경우 arr[1] 같이 [ ]안에 index(순번)을 넣어서 탐색하지만 Dictionary는 [ ] 안에 Key값을 넣어서 사용함

value에 list를 넣을 수 있다.

3. 기본 메소드

- 초기화

문제에서 list로 주어진 값을 key와 value형태로 전환하여 dictionary에 넣을 수 있다.

clothes = [["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]]
dic = {}

for cloth in clothes:
	dic[cloth[1]] = dic.get(cloth[1], []) + [cloth[0]]
    
print(dic)
#{'headgear': ['yellow_hat', 'green_turban'], 'eyewear': ['blue_sunglasses']}

cloth[1]에 있는 값을 key로 하되, dic.get()을 통해서 dic에서 cloth[1]을 찾아서 넣어준다.

 

넣어줄 때, +를 사용하여 list를 append하는 방식으로 넣어주고,

cloth[1] key가 처음 들어오는 key라면 빈 배열인 []를 선언하여 list를 append한다.

 

dic에 dictionary로 key, value구조를 완성하면, list[1]형태로 index를 넣어 값을 구할 때 index자리에 key를 넣을 수 있다.

dic = {'headgear': ['yellow_hat', 'green_turban'], 'eyewear': ['blue_sunglasses']}
for i in dic:
	answer *= len(dic[i])+1

 

- get()

#key에 해당하는 value return
dict.get(key)

#있으면 value를 return하고 없으면 value로 넣은 값을 return
dict.get(key, value)

https://www.programiz.com/python-programming/methods/dictionar

다른 메소드는 위 사이트에서 나중에 찾아봐야지

4. 활용

해시맵을 생성하여 key, value구조를 가져가고 싶을 때