簡體   English   中英

根據有序列表打印字典

[英]Print a dictionary based on an ordered list

我已經根據字典中的值對字典進行了排序。 現在,我想使用鍵的排序列表來打印字典的有序相關部分。

這是我到目前為止嘗試過的:

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的新手:(

大概,您可能打算編寫類似以下內容的內容:

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循環分配中的排序列表。

您的for循環有點倒退。 您想遍歷訂購的鍵,而不是原始字典:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM