如何對巢狀 Python 字典進行排序?


如果您有一個格式如下所示的字典

{
   'KEY1':{'name':'foo','data':1351,'completed':100},
   'KEY2':{'name':'bar','data':1541,'completed':12},
   'KEY3':{'name':'baz','data':58413,'completed':18}
}

並且您希望按完成情況對各條目中的鍵進行升序排序,則可以使用帶有 lambda 的 sorted 函式來指定用於對資料進行排序的鍵。例如:

my_collection = {
   'KEY1':{'name':'foo','data':1351,'completed':100},
   'KEY2':{'name':'bar','data':1541,'completed':12},
   'KEY3':{'name':'baz','data':58413,'completed':18}
}
sorted_keys = sorted(my_collection, key=lambda x: (my_collection[x]['completed']))
print(sorted_keys)

這將輸出以下結果:

['KEY2', 'KEY3', 'KEY1']

更新時間:2020 年 6 月 17 日

2 千次瀏覽

開啟您的事業

完成課程獲得認證

入門
廣告
© . All rights reserved.