簡體   English   中英

根據鍵的多個值之一對字典進行排序

[英]Sorting a dict based on one of the multiple values of key

我有這樣的字典

t={'Name1':{"Jf":0.89,"Date":"09-10-2018"},'Name2':{"Jf":0.77,"Date":"09-11-2018"}}

如何根據Jf值對字典進行降序排序。 謝謝!!

您可以使用t.items() ,該t.items()將返回key0索引和value索引1tuple對象列表。 使用reverse=True降序排列,

sorted_dict = sorted(t.items(), key = lambda x: x[1]['Jf'], reverse=True)
print(sorted_dict)

或者,如果您僅對值感興趣,則可以從dict獲取values()並使用sorted

sorted_dict = sorted(t.values(), key = lambda x:x['Jf'], reverse=True)
print(sorted_dict)

Python字典不保留順序,因此可以將其排序為一個列表:

t = {'Name1': {"Jf": 0.89, "Date": "09-10-2018"}, 'Name2' {"Jf": 0.77, "Date": "09-11-2018"}}
sorted(t.items(), key=lambda item: item[1]['Jf'])

哪個應該給出結果:

[('Name2', {'Jf': 0.77, 'Date': '09-11-2018'}), ('Name1', {'Jf': 0.89, 'Date': '09-10-2018'})]

附帶一提,您可以考慮使用datetime庫,而不是將日期編碼為字符串。 例如:

from datetime import date
name1_date = date(2018, 9, 11)
name1_date.month  # Returns 9

暫無
暫無

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

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