역 색인이 있습니다. 내 단어 사전과 용어가 나타나는 문서의 게시 목록으로 구성됩니다. 내가 원하는 것은 사전을 사전 순으로 정렬하는 것입니다.역 색인의 경우 defaultdict (목록)의 키순으로 (알파벳순) 주문하는 방법
self.index =
defaultdict(<type 'list'>, {
'all': [['d03', array('I', [32L, 40L)], ['d07', array('I', [32L, 40L, 47L])], ['d05', array('I', [32L, 40L, 47L])]],
'just': [['d03', array('I', [11L])], ['d07', array('I', [11L])], ['d05', array('I', [11L])], ['d08', array('I', [11L])]])
'collect': [['d04', array('I', [24L])]]
'occurring': [['d03', array('I', [34L])], ['d07', array('I', [34L])]
... 그래서 에이 그것을 정렬 후 같이하는 방법입니다 : 이것은 (예) 지금 모습입니다 내가 뭘하려
'all': [['d03', array('I', [32L, 40L)], ['d07', array('I', [32L, 40L, 47L])], ['d05', array('I', [32L, 40L, 47L])]],
'collect': [['d04', array('I', [24L])]]
'just': [['d03', array('I', [11L])], ['d07', array('I', [11L])], ['d05', array('I', [11L])], ['d08', array('I', [11L])]])
'occurring': [['d03', array('I', [34L])], ['d07', array('I', [34L])]
:
self.index = sorted(self.index)
print self.index
print self.index['all']
첫 번째 인쇄 호출은 정렬 된 단어 목록을 제공하지만 'all'이라는 단어에 대해 연결된 게시 목록을 얻으려고하면이 오류 메시지가 나타납니다.
사전 반환 정렬 된 순서로 키 단지 목록sorted()
을 호출 (3210)
TypeError: list indices must be integers, not str
옙. IMHO sorted()를 호출하면 데이터 순서를 변경하는 대신 정렬 된 방식으로 결과를 보는 것이 좋습니다. 고마워! – user2618343