데이터를 저장할 때 데이터들(value)을 구분 지을 수 있는 고유한 값(key)을 함께 저장
다른 언어에서는 hash table이라고 함
key의 조건
고유한 값이어야 함; 중복되지 않아야 함
immutable (hashable) 객체만 들어갈 수 있음
ex. 문자열, 단일 숫자, 튜플
딕셔너리 추가와 삭제
딕셔너리 key & value 추가
딕셔너리 삭제: del dic[key]
딕셔너리 관련 함수
x.keys()
x.values()
x.items()
x.clear()
x.get(a)
a in x
01-5 Set
집합 Set
중복을 허용하지 않음
순서가 없음 → 인덱싱 / 슬라이싱 불가
cf. 리스트 vs 튜플 vs 딕셔너리 vs 집합
순서
인덱싱/슬라이싱
리스트
o
o
튜플
o
o
딕셔너리
입력 순서대로 만들어짐
x
집합
x
x
수학에서의 집합 연산: 교집합, 합집합, 차집합
교집합: & / .intersection()
합집합: | / .union()
차집합: - / .difference()
집합 관련 함수
x.add()
x.update(): 값 여러개 추가
x.remove()
del로 list처럼 item deletion은 불가 (set 전체 삭제만 가능)
cf. del의 쓰임
list: item deletion) del lst[2]
dictionary: item deletion) del dic[key]
tuple: tuple deletion) del tpl
set: set deletion) del set
02 Collections
collections
list, tuple, dict 등의 자료형을 다루기 위한 python built-in module
02-1 Deque
Stack과 Queue를 지원하는 모듈
list에 비해 ‘효율적’인 자료 저장 방식을 지원
메모리를 적게 사용
속도가 빠름
rotate, reverse 등 linked list의 특성을 지원
기존 list 형태의 함수를 모두 지원
02-2 Defaultdict
dict type의 default value를 지정해둠으로써, 신규 key가 value 없이 생성되었을 때 default value를 부여
from collections import defaultdict
d = defaultdict(object) # default dictionary를 생성
d = defaultdict(lambda: 0) # default value를 0으로 설정
print(d["first"]) # 0
댓글