簡體   English   中英

在Python中使用日期鍵對字典進行排序

[英]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.

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