[Python기초] 5. 딕셔너리
딕셔너리는 무엇인가요?
정의
- 딕셔너리(Dictionary)는 강력하면서 알아두면 편리한 자료구조를 뜻함
- 딕셔너리는 임의의 객체 집합형 자료형이며 별도의 자료순서를 가지지 않고 자료의 순서를 전항 수 없는 맵핑(Mapping)형이며, 키를 통한 빠른 검색이 필요할 떄 사용함
예시
>>> d = dict(a = 1, b = 2, c = 3)
>>> d
{'a': 1, 'c': 3, 'b': 2}
>>> type(d)
<class 'dict'>
>>> color = {"apple": "red", "banana": "yellow"}
>>> color
{'apple': 'red', 'banana': 'yellow'}
>>> color["cherry"] = "red"
>>> color
{'cherry': 'red', 'apple': 'red', 'banana': 'yellow'}
>>> for c in color.items():
print(c)
('cherry', 'red')
('apple', 'red')
('banana', 'yellow')
>>> for k, v in color.items():
print(k, v)
'cherry', 'red'
'apple', 'red'
'banana', 'yellow'
딕셔너리에서 데이터를 삭제하려면?
>>> color
{'cherry': 'red', 'apple': 'red', 'banana', 'yellow'}
>>> del color['cherry']
>>> color
{'apple': 'red', 'banana': 'yellow'}
>>> color.clear()
>>> color
{}
아래와 같이 값을 입력한 후 ‘수정과 삭제’ 가능
>>> device = {'아이폰': 5, '아이패드': 10, '윈도우타블렛': 20}
>>> device['맥프로'] = 15
>>> device['아이폰'] = 6
>>> device
{'아이폰': 6, '맥프로': 15, '아이패드': 10, '윈도우타블렛': 20}
>>> del device['아이폰']
딕셔너리의 기본구조
키|값 —|— 아이폰|5 아이패드|10 윈도우타블렛|15
- 딕셔너리식 구조의 메소드들
>>> device = {'아이폰': 5, '아이패드': 10, '윈도우타블렛': 15} >>> device.keys() dict_keys(['아이폰', '아이패드', '윈도우타블렛']) >>> device.values() dict_values([5, 10, 15])
딕셔너리에서 반복 값을 출력할 때
- 딕셔너리를
for in
구문으로 참조하기>>> D = {'a': 1, 'b': 2, 'c': 3} >>> for key in D.keys(): print(key, D[key]) c 3 b 2 a 1
- 딕셔너리에 있는 키와 값을 출력할 경우 위와 같이
for 아이템 in 딕셔너리:
구문을 사용해서 루프를 돌면아이템
은 키를D[아이템]
은 키에 맵핑된 값을 출력함
생각해보기
- 파이썬 자료형 중 리스트와 딕셔너리의 가장 큰 차이점은? 리스트|딕셔너리 —|— 순서가 있다|순서가 없다 정수의 인덱스를 가지고 있다|키로 값을 꺼낸다