1. 딕셔너리(dict) 정의 및 특징.
- key 와 value 형태의 대응 관계의 자료형으로, 연관 배열(Associative array) 또는 해쉬(Hash)라고 일컫음.
- 파이썬에선 이러한 자료형을 딕셔너리(Dictionary)라고 함.
- 순차적 검색이 아닌 key 를 통한 value 를 구하는 형태.
- 동일 key 를 할당할 경우 마지막 설정한 값을 따름.
- list 는 key 로 사용 불가. (tuple 은 가능)
a={}
b={'name':'yr','phone':'01012345678'}
c={1:'abc'}
d={'a':[1,2,3]}
e={1:'a',1:'b','a':1,'a':2}
e # 결과 : {1: 'b', 'a': 2}
f={[1,2]:'a'} # 결과 : 오류
g={(1,2):'a'}
g # 결과 : {(1, 2): 'a'}
2. 요소 추가/수정/삭제
a={'name': 'yr', 'phone': '01012345678'}
b={}
c={}
print(a) # 결과 : {}
print(b) # 결과 : {}
print(c) # 결과 : {}
# 요소 추가.
a[1]='test' # 여기서 1은 index 가 아닌 key 임.
b[1]='abc' # 여기서 1은 index 가 아닌 key 임.
c['a']=[1,2,3]
print(a) # 결과 : {'name': 'yr', 'phone': '01012345678', 1: 'test'}
print(b) # 결과 : {1: 'abc'}
print(c) # 결과 : {'a': [1, 2, 3]}
# 요소 수정.
a[1]='test2' # 여기서 1은 index 가 아닌 key 임.
print(a) # 결과 : {'name': 'yr', 'phone': '01012345678', 1: 'test2'}
# 요소 삭제.
del a[1] # 여기서 1은 index 가 아닌 key 임.
print(a) # 결과 : {'name': 'yr', 'phone': '01012345678'}
3. 관련 함수들.
a={'name':'yr','phone':'01012345678'}
# key 반환 : 반복문에선 list 처럼 사용가능하나, 요소 변경 불가.
a.keys() # 결과 : dict_keys(['name', 'phone'])
# 리스트로 변환하여 반환
list(a.keys()) # 결과 : ['name', 'phone']
# value 반환
a.values() # 결과 : dict_values(['yr', '01012345678'])
# key, value 한 쌍씩 요소 반환
a.items() # 결과 : dict_items([('name', 'yr'), ('phone', '01012345678')])
# key 로 value 얻기 : a['name'] 과 유사, 미존재 시 오류 발생여부 다름. (get 미존재 시 None 반환, 미존재 시 대체값 설정 가능)
print(a.get('name')) # 결과 : yr
print(a['name']) # 결과 : yr
# key 미존재 시
print(a.get('addr')) # 결과 : None
print(a['addr']) # 결과 : 오류
# key 미존재 시 대체값 처리.
a.get('name', 'no no no') # 결과 : 'yr'
a.get('addr', 'no no no') # 결과 : 'no no no'
# key 존재 여부 확인.
'name' in a # 결과 : True
'NAME' in a # 결과 : False
# 초기화 (모두 삭제)
a.clear()
a # 결과 : {}
'개발 이야기 > Python' 카테고리의 다른 글
Python - 09. 불리언(bool) 자료형 (0) | 2021.07.19 |
---|---|
Python - 08. 집합(set) 자료형 (0) | 2021.07.18 |
Python - 06. 튜플(Tuple) 자료형 (0) | 2021.07.17 |
Python - 05. 리스트(list) 자료형 (0) | 2021.07.17 |
Python - 04. 문자열 자료형 (0) | 2021.07.16 |