我有一个日期时间键的字典,如下所示
{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}}
我需要用日期时间键对其进行排序。
我已经尝试过如下question中提及的内容,但未按预期排序。
ordered = OrderedDict(sorted(mydict.items(), key=lambda t: t[0]))
在该问题中,密钥为2014-04-21
,而我的密钥为2014-04-21 14:46
。
任何帮助都会表示赞赏。
答案 0 :(得分:1)
据我所见,您可以使用ISO日期。
ISO日期为alphabetically sortable。没有必要处理它们作为日期的特殊情况。我认为您的代码没有任何问题。
运行代码,例如
>>> 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)))