2013-07-17 5 views
0

해당 사전 내의 값을 기반으로 사전을 정렬했습니다. 이제 정렬 된 키 목록을 사용하여 사전의 관련성있는 순서를 인쇄하고 싶습니다.정렬 된 목록을 기반으로 사전 인쇄

는 여기에 지금까지 시도 내용은 다음과 같습니다 그러나

sc = sorted(stats,key=lambda x:(stats[x]['avg length'],x)) #to get a sorted list of keys 

for sc in stats: 
    print "Name %s, Number: %s, Average length: %s, Max length: %s, Min length: %s" % (sc, stats[sc]["number"],stats[sc]["avg length"], stats[sc]["max length"], stats[sc]["min length"]) 

, 내 목록 사우스 캐롤라이나의 순서와 일치하지 않는 출력의 순서. 사실, 나는 값이 출력 방법에 어떤 패턴을 볼 수 없습니다 ..

이 사소한 질문의 경우

죄송합니다 - 추측에서 파이썬 :(

+0

출력이란 무엇입니까? 너는 무엇을 기대 하느냐? 샘플을주세요. –

답변

2

귀하의 for 루프가 뒤쪽으로 조금 당신은 당신의 주문 키가 아닌 원래의 사전을 반복 할 :

for key in sc: 
    print ... % (key, stats[key], ... 
+0

완전히 수정되었습니다! 고맙습니다! – user2586260

2

에 미안 새로운, 당신은 아마 뭔가를 작성하는 것을 의미 같은 :..

for s in sc: 
    print "Name %s, Number: %s, Average length: %s, Max length: %s, Min length: %s" % (s, stats[s]["number"],stats[s]["avg length"], stats[s]["max length"], stats[s]["min length"]) 

당신은 루프 과제에 대한 기존의 정렬 된 목록을 대체하고

+0

네, 그게 그랬 잖아요. 내가 반복하는 것에 대해 혼란 스러웠다. 고맙습니다! – user2586260

관련 문제