[英]In Python, how to sort a dict inside a dict by a key within the inner dict
[英]Sort a dict with date key in Python
我有一個日期時間鍵為以下的字典
{u'2014-04-21 14:46': {u'status': 0, u'created': u'21-04-2014 14:46', u'duration': u'0:12'}, u'2014-04-22 10:31': {u'status': 0, u'created': u'22-04-2014 10:31', u'duration': u'1:28}}
我需要使用日期時間鍵對它進行排序。
我已經嘗試過下面這個問題中提到的,它沒有按預期排序。
ordered = OrderedDict(sorted(mydict.items(), key=lambda t: t[0]))
在這個問題中,關鍵是2014-04-21
,我的是2014-04-21 14:46
。
任何幫助將不勝感激。
據我從您的樣本集中看到的,您正在使用ISO日期。
ISO日期可按字母順序排序 。 無需處理將日期作為特殊情況的情況。 我認為您的代碼沒有錯。
運行您的代碼,例如
>>> list(OrderedDict(sorted(mydict.items(), key=lambda t: t[0])))
產生排序的鍵,例如
[u'2014-04-21 14:46', u'2014-04-22 10:31']
要以降序對列表進行排序,請使用
>>> list(OrderedDict(sorted(mydict.items(), key=lambda t: t[0], reversed=True)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.