반응형
Key = Value 형식으로 Key에 대응하는 값을 표현할 수 있으며, 이러한 대응 관계를 연관 배열(Associative array) 또는 해시(Hash)라고 한다.
>>> dic = {'key':'value', 'name':'Kai', 'age':'20'}
>>> dic['key']
'value'
# Key는 정수값 가능
>>> a = {1:'a', 'b':2}
>>> a[1]
'a'
>>> a['b']
2
# Value에는 다른 자료형도 가능
>>> a = {'a':[1,2,3]}
>>> a['a']
[1, 2, 3]
dic에 담긴 대응 관계 정보
Key | Value |
---|---|
key | value |
name | Kai |
age | 20 |
- 딕셔너리 값 추가
>>> a = {1: 'a'}
>>> a[2] = 'b'
>>> a
{1: 'a', 2: 'b'}
>>> a['x'] = 'X'
>>> a
{1: 'a', 2: 'b', 'x': 'X'}
- 딕셔너리 값 삭제
>>> a = {1: 'a', 2: 'b', 'x': 'X'}
>>> del a['x']
>>> a
{1: 'a', 2: 'b'}
- 딕셔너리 값 사용
>>> dic = {'key':'value', 'name':'Kai', 'age':'20'}
>>> dic['name']
'Kai'
- 같은 Key로 생성할 경우 앞에 값이 덮어씀
>>> a = {1:'a', 1:'b'}
>>> a
{1: 'b'}
- Key로 리스트는 사용할 수 없다.
변경이 가능한 자료형은 Key 값으로 사용이 불가능하다
# Key로 튜플 자료형 사용
>>> a = {(1,):'a'}
>>> a
{(1,): 'a'}
>>> a[(1,)]
'a'
# Key로 리스트 사용
>>> b = {[1,2]:'a'}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
- 딕셔너리에서 Key값 추출
>>> dic = {'key':'value', 'name':'Kai', 'age':'20'}
>>> dic.keys()
dict_keys(['key', 'name', 'age'])
# Key를 이용한 반복문
>>> for k in dic.keys():
... print(k)
...
key
name
age
# Key를 list로 변환
>>> list(dic.keys())
['key', 'name', 'age']
- 딕셔너리에서 Value값 추출
>>> dic.values()
dict_values(['value', 'Kai', '20'])
- 딕셔너리 Key, Value 항목 얻기(items)
>>> dic.items()
dict_items([('key', 'value'), ('name', 'Kai'), ('age', '20')])
- 딕셔너리 초기화
>>> dic.clear()
>>> dic
{}
- 딕셔너리 Key로 Value 얻기(get)
Key가 없는 값을 조회할 때 dic[key]로 할 때 없다면 오류 발생
>>> dic = {'key':'value', 'name':'Kai', 'age':'20'}
>>> dic.get('name')
'Kai'
>>> dic['name']
'Kai'
# Key가 없는 값을 조회할 때 dic[key]로 할 때 없다면 오류 발생
>>> dic.get('na')
>>> dic['na']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'na'
# 값이 없을 경우 default 값 설정하기
>>> dic.get('na', 'None')
'None'
- 해당 Key 존재 여부 (in)
>>> 'na' in dic
False
>>> 'name' in dic
True
반응형
'FullStack > 22. Python' 카테고리의 다른 글
파이썬 매뉴얼 (0) | 2024.07.31 |
---|---|
데이터 튜플 자료형 (0) | 2020.12.07 |
[Python] matplotlib 그래프 한글 깨짐 (0) | 2020.11.28 |
[IPython] %matplotlib inline 의미 (0) | 2020.11.27 |
[Python] 리스트 자료형 (0) | 2020.11.18 |