【问题标题】:Python get records based on date in a listPython根据列表中的日期获取记录
【发布时间】:2019-07-19 22:29:03
【问题描述】:

这里我需要基于列表中日期字段的两条记录。这两条记录的日期必须更早:

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

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

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

【问题讨论】:

  • 你能展示你尝试过的东西吗

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


【解决方案1】:

您可以使用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]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    相关资源
    最近更新 更多