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

San*_*osh 2 python sorting list python-2.7 python-datetime

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

records = [['2019-02-01', 29], ['2018-12-01', 22], ['2019-01-01', 2]]
Run Code Online (Sandbox Code Playgroud)

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

Expected Output = ['2018-12-01', 22] , ['2019-01-01', 2]
Run Code Online (Sandbox Code Playgroud)

yat*_*atu 6

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

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

产量

[['2018-12-01', 22], ['2019-01-01', 2]]
Run Code Online (Sandbox Code Playgroud)