본문 바로가기

카테고리 없음

05. 딕셔너리

학습내용

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

- 딕셔너리는 키/값 쌍으로 구성된 데이터 구조이다.

- 딕셔너리의 아이템 끼리는 순서가 없다.

- 엑셀의 표형 데이터를 딕셔너리 형태로 변경할 수 있다.