Python에서 딕셔너리(Dictionary)는 키(key)와 값(value)로 이뤄진 자료형이다. 내부적으로는 해시 테이블(Hash Table)로 구현되어 있다.


Dict의 주요 특징

  • 인덕세를 숫자로만 지정할 수 있는 리스트와 달리 문자를 포함하여 다양한 타입을 키로 사용 가능
  • 해시 테이블을 이용해 자료를 저장한다.
  • 입력과 조회 모두 O(1)의 시간 복잡도를 가진다.


Dict의 주요 연산 시간복잡도 아래와 같다.


주요 연산 시간복잡도


순서 연산 예시 시간 복잡도 설명
1 Store a[k] = v O(1) 데이터 저장
2 Length len(a) O(1) 길이 출력
3 Delete del a[k] O(1) 요소 제거
4 get/setdefault a.get(k) O(1) key에 따른 value 확인
5 Pop a.pop(k)   O(1) pop
6 Pop item a.popitem() O(1) 랜덤하게 선택해서 pop
7 Clear a.clear() O(1) similar to s = {} or = dict()
8 View a.keys() O(1) same for a.values() / 키값 전체 확인
9 Construction dict(…) O(len(…)) (key, value) 튜플 개수만큼
10 Iteration for k in a: O(N) 전체 딕셔너리 순회