문법/Python

[Python]dictionary(HashMap)

jungmin.park 2023. 10. 18. 00:42

딕셔너리란?

* key, value를 한 쌍으로 가지는 자료형

* 딕셔너리에서의 Key는 고유한 값으로 중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시된다.

* 리스트나 튜플처럼 순차적으로(sequential) 해당 요솟값을 구하지 않고 Key를 통해 Value을 얻는다.

 

딕셔너리 예시

dic = {'name' : 'jungmin', 'phone' : '010-9***-9***', 'birth':'0703'}

이 때 키 값은 'name', 'phone', 'birth'

'name' 값을 이용해 dic['name'] 을 입력하면 'jungmin' 을 얻을 수 있다.

 

딕셔너리 쌍 추가하기

dic['city'] = 'Seoul'

print(dic)

실행결과

dic = {'name' : 'jungmin', 'phone' : '010-9***-9***', 'birth':'0703', 'city':'Seoul'}

 

딕셔너리 요소 삭제하기

del dic['phone']

del dic[key값] 

실행결과

dic = {'name' : 'jungmin', 'birth':'0703', 'city':'Seoul'}

딕셔너리 관련 함수

Key 리스트 만들기 - keys

dic = {'name' : 'jungmin', 'phone' : '010-9***-9***', 'birth':'0703', 'city':'Seoul'}
print(dic.keys())

실행결과

* dic.keys()는 딕셔너리 dic의 Key만 모아 dict_keys 객체를 리턴

dict_keys(['name', 'phone', 'birth', 'city' ]}

*dic.keys 객체를 리스트로 변환하려면 다음과 같이 해야 한다.

list(dic.keys())

 

Value 리스트 만들기 - values

dic.values()

실행결과

dict_values(['jungmin', '010-9****-9****', '0703', 'seoul'])

 

Key, Value 쌍 얻기 - items

dic.items()

실행결과

dict_items([('name' : 'jungmin'), ('phone' : '010-9***-9***'), ('birth':'0703'), ('city':'Seoul')]}

items 함수는 Key와 Value의 쌍을 튜플로 묶은 값을 dict_items 객체로 리턴한다.

 

 

Key: Value 쌍 모두 지우기 - clear

dic.clear()

 

Key로 Value 얻기 - get

dic = {'name' : 'jungmin', 'phone' : '010-9***-9***', 'birth':'0703', 'city':'Seoul'}
dic.get('name')

get(key) 함수는 key에 대응되는 Value를 리턴한다.

dic.get('name') 은 dic['name'] 을 사용했을 때와 동일한 결괏값을 리턴한다.

또한, dic['name'] 처럼 딕셔너리에 존재하지 않는 키로 값을 가져오려고 할 경우, dic['name']은 오류를 발생시키고 dic.get('name') 방식은 None을 리턴한다.