Python:按日期排序列表?

时间:2014-06-02 20:11:03

标签: python list sorting

是否可以按日期对此列表进行排序?它是一个flot图,因此必须以这种较小列表对列表的格式进行组织。我希望能够按日期排序。

[["2014-5-29", 19], ["2014-5-28", 16], ["2014-5-30", 20], ["2014-5-23", 16], ["2014-5-22", 1225], ["2014-5-21", 114], ["2014-5-20", 69], ["2014-5-27", 10], ["2014-5-31", 17], ["2014-5-25", 18], ["2014-5-24", 19], ["2014-5-26", 18], ["2014-6-2", 19], ["2014-6-1", 19], ["2014-5-18", 4], ["2014-5-19", 27]]

谢谢!

1 个答案:

答案 0 :(得分:1)

这是一种方式:

In [9]: l = [["2014-5-29", 19], ["2014-5-28", 16], ["2014-5-30", 20], ["2014-5-23", 16], ["2014-5-22", 1225], ["2014-5-21", 114], ["2014-5-20", 69], ["2014-5-27", 10], ["2014-5-31", 17], ["2014-5-25", 18], ["2014-5-24", 19], ["2014-5-26", 18], ["2014-6-2", 19], ["2014-6-1", 19], ["2014-5-18", 4], ["2014-5-19", 27]]

In [10]: sorted(l, key=lambda (date, _): map(int, date.split('-')))
Out[10]: 
[['2014-5-18', 4],
 ['2014-5-19', 27],
 ['2014-5-20', 69],
 ['2014-5-21', 114],
 ['2014-5-22', 1225],
 ['2014-5-23', 16],
 ['2014-5-24', 19],
 ['2014-5-25', 18],
 ['2014-5-26', 18],
 ['2014-5-27', 10],
 ['2014-5-28', 16],
 ['2014-5-29', 19],
 ['2014-5-30', 20],
 ['2014-5-31', 17],
 ['2014-6-1', 19],
 ['2014-6-2', 19]]