Program/Python

Python 자료형 : 딕셔너리

하랑파파♡ 2020. 9. 7. 10:26
728x90
반응형
SMALL

딕셔너리란?

key와 value를 한쌍으로 가지는 데이터의 집합

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

Key와 Value의 쌍 여러 개가 { }로 둘러싸여 있다. 각각의 요소는 Key : Value 형태로 이루어져 있고 쉼표(,)로 구분

Value에 리스트도 넣을 수 있다.

중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시된다는 점을 주의

// dic = {Key1:Value1, Key2:Value2, Key3:Value3, ...}
>>> dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}

>>> a = { 'a': [1,2,3]}

>>> a = {1:'a', 1:'b'}
>>> a
{1: 'b'}

딕셔너리 쌍 추가, 삭제하기

딕셔너리 쌍 추가하기

>>> a = {1: 'a'}
>>> a[2] = 'b'
>>> a
{1: 'a', 2: 'b'}

>>> a['name'] = 'pey'
>>> a
{1: 'a', 2: 'b', 'name': 'pey'}

>>> a[3] = [1,2,3]
>>> a
{1: 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}

딕셔너리 요소 삭제하기

>>> a = {1: 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}
>>> del a[1] // a가 딕셔너리일 경우 1은 인덱스가 아니라 a의 1이라는 키값
>>> a
{2: 'b', 'name': 'pey', 3: [1, 2, 3]}

딕셔너리 관련 함수들

>>> a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}
>>> a.keys() // a.keys()는 딕셔너리 a의 Key만을 모아서 dict_keys 객체를 돌려준다.
dict_keys(['name', 'phone', 'birth'])

>>> a.values() // Value만 얻고 싶다면 values 함수를 사용
dict_values(['pey', '0119993323', '1118'])

>>> a.items() // items 함수는 Key와 Value의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려준다.
dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])

>>> a.clear() // clear 함수는 딕셔너리 안의 모든 요소를 삭제
>>> a
{}

>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> a.get('name') // get(x) 함수는 x라는 Key에 대응되는 Value를 돌려준다
'pey'
>>> a.get('phone')
'0119993323'

/*
다음 예제에서 볼 수 있듯이 a['nokey']처럼 존재하지 않는 키(nokey)로 값을 가져오려고 할 경우 
a['nokey']는 Key 오류를 발생시키고 a.get('nokey')는 None을 돌려준다는 차이
*/
>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> print(a.get('nokey'))
None
>>> print(a['nokey'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'nokey'

>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> 'name' in a // a 딕셔너리에 name 이라는 키가 존재하는지 확인
True
>>> 'email' in a
False

참고 : https://wikidocs.net/16

728x90
반응형
LIST

'Program > Python' 카테고리의 다른 글

Python 자료형 : boolean(참, 거짓)  (0) 2020.09.07
Python 자료형 : 집합 자료형  (0) 2020.09.07
Python 자료형 : 튜플  (0) 2020.09.07
Python 자료형 : 리스트  (0) 2020.09.07
Python 자료형 : 문자형  (0) 2020.09.06