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"])

ただし、出力の順序はリスト sc の順序と一致しません。実際、値がどのように出力されるかというパターンはわかりません..

これが些細な質問である場合は申し訳ありません-私はpythonが初めてです:(

4

2 に答える 2

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"])

既存の for ループ割り当ての並べ替えられたリストを置き換えています。

于 2013-07-17T09:07:12.567 に答える