1. OrderedDict 란
명칭 그대로 삽입 순서가 보장되는 dictionary 형태의 컬렉션이다.
1 | from collections import OrderedDict |
2. dict vs OrderedDict
파이썬 3.7 이전 환경에서 아래 소스를 실행할 경우, OrderedDict 는 삽입 순서가 보장되며, Dictionary의 경우는 순서가 Set 연산자와 마찬가지로 보장되지 않는 것을 확인할 수 있다.
(삽입순서에 대한 정보가 내부적으로 관리되다보니 OrderedDict 가 dictionary 에 비해 메모리를 두배이상 사용.)
1 | from collections import OrderedDict |
※ Python 3.7 부터는 dictionary 의 경우에도 삽입 순서가 보장됨.
(참조 URL)
3. OrderedDict 활용
사용자가 n 번 만큼 값을 입력하고 출력된 결과가 다음과 같을 때, 삽입순서가 보장되지 않는 파이썬 환경에서 OrderedDict 를 활용해 작성해보자. - Input 9 BANANA FRIES 12 POTATO CHIPS 30 APPLE JUICE 10 CANDY 5 APPLE JUICE 10 CANDY 5 CANDY 5 CANDY 5 POTATO CHIPS 30 - Output BANANA FRIES 12 POTATO CHIPS 60 APPLE JUICE 20 CANDY 20
1 | # Problem Result Code |