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

Python get records based on date in a list

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

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

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

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

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

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]]