我有一个像这样的Python字典:
{
'apple': datetime.datetime(2012, 12, 20, 0, 0, tzinfo=<UTC>),
'orange': datetime.datetime(2012, 2, 4, 0, 0, tzinfo=<UTC>),
'raspberry': datetime.datetime(2013, 1, 9, 0, 0, tzinfo=<UTC>)
}
按日期时间值对字典进行排序的最佳方法是什么?我正在寻找一个列表输出,按顺序从最近到最旧。
答案 0 :(得分:13)
答案 1 :(得分:1)
请注意,问题是如何按日期时间值对进行排序,这里有一个可能的答案:
sorted(dct.items(), key=lambda p: p[1], reverse=True)
=> [('raspberry', datetime.datetime(2013, 1, 9, 0, 0)),
('apple', datetime.datetime(2012, 12, 20, 0, 0)),
('orange', datetime.datetime(2012, 2, 4, 0, 0))]
如果您只对密钥感兴趣:
[k for k, v in sorted(dct.items(), key=lambda p: p[1], reverse=True)]
=> ['raspberry', 'apple', 'orange']
答案 2 :(得分:0)
这很简单,就是这样:
from operator import itemgetter
sorted(a.items(),key=itemgetter(1),reverse=True)
答案 3 :(得分:0)
尝试获取字典dict
下面的键列表:
[item[0] for item in sorted(dict.items(), key=lambda val: val[1])]