나는 사전을 가지고 : 튜플의 첫 번째 요소와 튜플의 두 번째 요소 후 :의사 복합 키를 사용하여 사전을 정렬하는 방법은 무엇입니까?
test = {}
test[(1,2)] = 1
test[(4,3)] = 1
test[(1,4)] = 1
방법 "의사 화합물 키"을 기준으로 정렬?
나는 사전을 가지고 : 튜플의 첫 번째 요소와 튜플의 두 번째 요소 후 :의사 복합 키를 사용하여 사전을 정렬하는 방법은 무엇입니까?
test = {}
test[(1,2)] = 1
test[(4,3)] = 1
test[(1,4)] = 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
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()))
이 키를의에 의해 .
기본적으로 튜플은 설명 된대로 정렬되기 때문에 모두 작동합니다.
정확히 원하는대로 다릅니다. 당신이 테스트의 키 순서로 정렬 할 경우 다음 수행 정렬 키의 값을 원하는 경우에, 당신이 필요
sorted(test)
입니다
[test[key] for key in sorted(test)]