Python根据列表中的日期获取记录

时间:2019-02-26 11:27:53

标签: python python-2.7 list sorting python-datetime

在这里,我需要基于列表中日期字段的两条记录。这两个记录必须具有较早的日期:

records = [['2019-02-01', 29], ['2018-12-01', 22], ['2019-01-01', 2]]

需要显示两个日期较早的记录

Expected Output = ['2018-12-01', 22] , ['2019-01-01', 2]

1 个答案:

答案 0 :(得分:6)

您可以使用sorted,并使用datetime参数解析列表中的key字符串,以便根据日期对列表进行排序。最后,对列表进行切片以保留前两个元素:

from datetime import datetime
sorted(records, key=lambda x: datetime.strptime(x[0], '%Y-%m-%d'))[:2]

输出

[['2018-12-01', 22], ['2019-01-01', 2]]