2011-08-15 3 views

답변

1

사전은 정의에 따라 정렬 할 수 없습니다. 할 수있는 일은 키 목록을 가져 와서 정렬 한 다음 사전에 지정된 순서대로 참조하는 것입니다. 예를 들어 :

test = {} 
test[(1,2)] = 1 
test[(4,3)] = 2 
test[(1,4)] = 3 

keys = sorted(test.keys()) # nothing fancy, default sort 
for key in keys: 
    print test[key] 

>>> 1 
>>> 3 
>>> 2 
7
test = {} 
test[(1,2)] = 1 
test[(4,3)] = 2 
test[(1,4)] = 3 

print sorted(test.iteritems()) 

당신에게 줄 것이다 :

[((1, 2), 1), ((1, 4), 3), ((4, 3), 2)] 

다시 사전 등을 원하는 경우 : 당신은 분류 사전을 가지고

import OrderedDict 
sorted_test = OrderedDict(sorted(test.iteritems())) 

이 키를의에 의해 .

기본적으로 튜플은 설명 된대로 정렬되기 때문에 모두 작동합니다.

0

정확히 원하는대로 다릅니다. 당신이 테스트의 키 순서로 정렬 할 경우 다음 수행 정렬 키의 값을 원하는 경우에, 당신이 필요

sorted(test) 

입니다

[test[key] for key in sorted(test)] 
관련 문제