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]]
这里我需要两条基于列表中日期字段的记录。这两个记录必须具有较旧的日期:
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]]