학습내용
1. 딕셔너리 이해
2. 딕셔너리 관련 함수 이해
학습목표
- 딕셔너리에 대해 이해하고 리스트와 비교할 수 있다.
- 딕셔너리 관련 함수를 사용하여 딕서녀리를 조작할 수 있다.
사전퀴즈
1. 여러 데이터를 하나로 처리할 수 있는 자료 구조를 컬렉션이라고 한다. ( O )
: 파이썬에서 컬렉션은 대표적으로 리스트와 딕셔너리가 있다.
2. 키/값 쌍으로 데이터를 표현하는 방식은 일반적으로 데이터를 다루는 형식으로 널리 사용되고 있다. ( O )
: key/value pair라고 하며 파이썬에서는 딕셔너리, 자바에서는 맵, 해쉬맵 등으로 대부분의 언어에서 지원하고 있는 데이터 구조이다.
Dictionary - 키/값 쌍으로 데이터를 관리
- 리스트와 유사하지만 인덱스 대신에 키를 통해 값을 찾는다.
- 각 아이템은 키/값 쌍으로 구성됨
- 딕셔너리에 있는 값을 참조하기 위해 키를 사용
- 다른 언어에서는 딕셔너리를 연관배열 또는 맵, 해쉬맵이라고 한다. 파이썬에서는 딕트(dict)라고도 한다.
Dictionary - 아이템 추가와 업데이트
- 딕셔너리 생성 리스트는 대괄호 [] 딕셔너리는 {}
빈 딕셔너리 만들기 slang = {}
빈 딕셔너리 아이템 추가
slang['cheerio'] = 'goodbye'
- 아이템 업데이트
기존에 키가 있다면 해당 키의 값이 업데이트
- 아이템 삭제
del slang['cheerio']
- 모든 항목 삭제 : clear()
>>> slang.clear()
- 찾고자 하는 값이 없을 때
# get()으로 값을 찾음
result = slang.get('bloody')
-> 딕셔너리 값이 없을 때 None 리턴 : None값은 값이 없다는 뜻, 타 언어의 null과 유사
- None은 데이터가 없다는 뜻, 조건식에서 False와 같다.
- 딕셔너리로 변환 : dit()
>> lol = [['a', 'b'], ['c', 'd'], ['e', 'f']]
>> dict(lol)
{'c': 'd', 'a': 'b', 'e': 'f'}
>> los = ['ab', 'cd', 'ef']
>> dict(los)
{'c': 'd', 'a': 'b', 'e': 'f'}
>>> tos = ('ab', 'cd', 'ef')
>>> dict(tos)
{'c': 'd', 'a': 'b', 'e': 'f'}
- 멤버쉽 테스트 : in
: 딕셔너리에 키가 있는지 테스트
>>> pythons = {'Chapman': 'Grahm', 'Cleese': 'John', 'Johns': 'Terry', 'Palin': 'Micheal'}
>>> 'Chapman' in pythons
True
>>> 'Palin' in pythons
True
>>> '<Michael' in pythons
False
- 모든 키 가져오기 : keys()
>>> signals = {'green': 'go', 'yellow': 'go faster', 'red': 'stop'}
>>> signals.keys()
dict_keys(['green', 'yellow', 'red])
- 모든 값 가져오기 : values()
>>> signals.values()
dict_values(['go', 'go faster', 'stop'])
- 모든 키-값 쌍 가져오기 : items()
>>> signals.items()
dict_items([('green', 'go'), ('yellow', 'go faster'), ('red', 'stop)])
연습문제
- 다임 데이터를 리스트와 딕셔너리를 사용하여 작성하세요.
1. 각 로우(행)를 딕셔너리로 표현한다.
2. 4개의 딕셔너리를 포함한 리스트를 만든다.
Quiz
1. 파이썬 딕셔너리에 대한 설명 중 틀린 것은?
② 딕셔너리의 아이템을 삭제하기 위해 키와 인덱스 모두 사용할 수 있다.
: 딕셔너리에서는 인덱스를 사용할 수 없다.
2. 파이썬에서 데이터가 없다는 것을 의미하는 키워드는?
② None
: 다른 언어에서 null과 유사하다.
3. 딕셔너리와 관련된 함수의 설명으로 잘못된 것은?
④ 딕셔너리에 값이 있는지 확인하는 멤버쉽 테스트 - in
: 멤버쉽 테스트 in은 딕셔너리에 해당 키가 있는지 확인하는 연산자이다.
Summary
- 딕셔너리는 키/값 쌍으로 구성된 데이터 구조이다.
- 딕셔너리의 아이템 끼리는 순서가 없다.
- 엑셀의 표형 데이터를 딕셔너리 형태로 변경할 수 있다.