딕셔너리는 순서가 없고, 중복이 허용되지 않으며, 값의 수정과 삭제가 가능하다.

Key와 Value의 쌍으로 이루어진 자료형으로 JSON 또는 Java의 Map과 유사한 구조를 가졌다.

 

1. 선언

a = {}
b = dict()
c = {'name': 'Lee', 'phone': '010-1234-1234',
     'hobby': ['Watching movies', 'Listening music']}

 

2. 값 가져오기

a = {'name': 'Lee', 'phone': '010-1234-1234',
     'hobby': ['Watching movies', 'Listening music']}
print(a['name']) # Lee
print(a['age']) # KeyError발생
print(a.get('name')) # Lee
print(a.get('age')) # None (Error X)

[ ] 안에 key 값을 넣으면 해당 value값을 가져올 수 있다. 하지만 해당 딕셔너리에 존재하지 않는 key 값을 넣는다면 KeyError를 발생시킨다. 이러한 문제를 해결하기 위한 것으로 get함수가 있다. get함수를 사용하면 key 값이 존재하지 않는다면 None을 반환시키고 에러를 발생시키지 않는다.

 

3. 값 추가하기

a = {'name': 'Lee', 'phone': '010-1234-1234',
     'hobby': ['Watching movies', 'Listening music']}
a['age'] = 29
a['address'] = 'Seoul'
print(a) # {'name': 'Lee', 'phone': '010-1234-1234', 'hobby': ['Watching movies', 'Listening music'], 'age': 29, 'address': 'Seoul'}

[ ] 안에 새로 추가할 데이터의 key 값을 넣고 value 값을 대입하면 된다. 만약, 이미 존재하는 key 값을 넣고 value 값을 대입한다면 기존의 데이터를 수정하게 된다.

 

4. 값 삭제하기

a = {'name': 'Lee', 'phone': '010-1234-1234',
     'hobby': ['Watching movies', 'Listening music']}
del a['name']
print(a) # {'phone': '010-1234-1234', 'hobby': ['Watching movies', 'Listening music']}
a.pop('hobby')
print(a) # {'phone': '010-1234-1234'}

 

4. keys, values, items

a = {'name': 'Lee', 'phone': '010-1234-1234',
     'hobby': ['Watching movies', 'Listening music']}
print(a.keys()) # dict_keys(['name', 'phone', 'hobby'])
print(a.values()) # dict_values(['Lee', '010-1234-1234', ['Watching movies', 'Listening music']])
print(a.items()) # dict_items([('name', 'Lee'), ('phone', '010-1234-1234'), ('hobby', ['Watching movies', 'Listening music'])])

각각에 대해 인덱싱 혹은 슬라이싱을 하고 싶다면 list로 형 변환을 하면 된다.

'Programming Language > Python' 카테고리의 다른 글

람다식  (0) 2020.03.13
*args, **kwargs  (0) 2020.03.13
Set  (0) 2020.03.12
Tuple  (0) 2020.03.12
List  (0) 2020.03.12

+ Recent posts