Python의 표준 배포에는 컬렉션 모듈이 포함되어 있습니다. 고성능 컨테이너 데이터 유형에 대한 정의가 있습니다. OrderedDict는 사전 객체에 추가된 항목의 순서를 기억하는 사전의 하위 클래스입니다. 정렬된 사전을 반복할 때 항목은 키가 처음 추가된 순서대로 반환됩니다.
>>> from collections import OrderedDict >>> D = {5:'fff', 3:'ttt', 1:'ooo',4:'bbb', 2:'ddd'} >>> OrderedDict(D.items()) OrderedDict([(5, 'fff'), (3, 'ttt'), (1, 'ooo'), (4, 'bbb'), (2, 'ddd')])
또한 iterable의 요소를 지정된 순서로 정렬하는 sorted() 함수를 사용해야 합니다. 함수는 정렬을 위한 키로 사용되는 인수로 함수를 사용합니다. 키를 기준으로 사전을 정렬하려고 하므로 튜플의 0번째 요소를 정렬의 키로 사용합니다.
>>> D = {5:'fff', 3:'ttt', 1:'ooo',4:'bbb', 2:'ddd'} >>> OrderedDict(sorted(D.items(), key = lambda t: t[0])) OrderedDict([(1, 'ooo'), (2, 'ddd'), (3, 'ttt'), (4, 'bbb'), (5, 'fff')])
OrderedDict 개체는 일반 사전 개체로 구문 분석될 수 있습니다.
>>> D1 = dict(OrderedDict(sorted(D.items(), key = lambda t: t[0]))) >>> D1 {1: 'ooo', 2: 'ddd', 3: 'ttt', 4: 'bbb', 5: 'fff'}