2012-09-04 3 views
0

에 의한 사전은 내가 K3하여이 사전을 정렬 할, 이제 3 차원 사전일종의 내부 키 파이썬

d = ({k1:{k2:{k3:v}}} 
     and many more such keys....) 

있나요? 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? (사전은 정의에 의해 분류되지 않은 때문에)

+7

당신은 딕셔너리가 주문하지 않는 알고 ... 당신을 위해 키를 정렬합니다? 대신 특정 용도로 키()를 정렬 하시겠습니까? –

+0

그 결과에 대해 더 구체적으로 설명하고 그러한 사전 (또는 중첩 된 튜플)의 실제 예를 제공하십시오. 그러한 모호한 작업을 수행해야하는 이유를 알려주십시오. 아마 당신은 오히려 당신의 디자인을 재고해야합니다. – moooeeeep

답변

3
sorted_keys = sorted(d.keys(),key=lambda x:d[x]['key2']['key3']) 

오른쪽

+1

이렇게하면 정렬 된 사전이 아닌 정렬 된 키가 반환됩니다. – moooeeeep

+0

@moooeeeep : 파이썬에 storted dictionary라는 것은 존재하지 않습니다. 거기에 * OrderedDict 하위 클래스입니다,하지만 그건 다른 것입니다. –

+0

답과 주석에서 언급 한 바와 같이 사전은 정렬되지 않습니다 ... 따라서 모두 정렬 할 수 있습니다 .. –