알고리즘

2. 딕셔너리의 주요 연산 시간 복잡도 및 특징

jwjwvison 2021. 8. 16. 11:12

 

 파이썬 3.6버전 까지는 딕셔너리의 입력 순서가 유지되지 않는다. 3.7부터는 내부적으로 인덱스를 이용해 입력 순서를 유지하도록 개선됬지만 여전히 3.6버전을 사용하는 곳이 많을 수 있기 때문에 collections.OrderedDict()라는 별도 자료형을 사용하는 것이 좋다.

 

 추가로 조회 시 항상 디폴트 값을 생성해 키 오류를 방지하는 collections.defaultdict(), 요소의 값을 키로 하고 개수를 값 형태로 만들어 카운팅하는 collections.Counter() 등이 있다. 

 

< 딕셔너리의 활용 방법>

 

< 딕셔너리 모듈>

1. Defaultdict 객체 - 존재하지 않는 키를 조회할 경우, 에러 메세지를 출력하는 대신 디폴트 값을 기준으로 해당 키에 대한 딕셔너리 아이템을 생성해준다. 마찬가지로 실제로는 collections.defaultdict 클래스를 갖는다.

 

2. Counter 객체 - 아이템에 대한 개수를 계산해 딕셔너리로 리턴하며, 다음과 같이 사용한다.

 counter 객체에서 가장 빈도수가 높은 요소는 most_common()을 사용하면 된다.

3. OrderDict 객체 - 다음과 같이 입력값을 부여할 경우 OrderedDict는 입력 그대로 순서가 유지된다.