【问题标题】:Filter by list of dictionaries by one key and sort by datetime [closed]一键按字典列表过滤并按日期时间排序[关闭]
【发布时间】:2021-06-24 22:23:54
【问题描述】:

我有这样的字典列表

actions = [
    {'action':1,'date':datetime(2021, 3, 28, 8, 57, 29, 734261)},
    {'action':2,'date':datetime(2021, 3, 28, 18, 57, 29, 734261)},
    {'action':1,'date':datetime(2021, 3, 29, 20, 57, 29, 734261)}
]

并且需要先按键值过滤,例如只显示action=1的dicts,然后按日期时间排序,首先显示最后一个。

【问题讨论】:

标签: python


【解决方案1】:

合并

  • filterlambda x: x['action'] == 1 为键
  • sortedlambda x: x['date'] 作为键和 reversed=True
actions = sorted(filter(lambda x: x['action'] == 1, actions),
                 key=lambda x: x['date'], reverse=True)

【讨论】:

  • 这正是我需要的,谢谢
猜你喜欢
  • 1970-01-01
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 2020-05-26
  • 2016-07-24
  • 2019-05-07
  • 2022-01-24
  • 2019-06-06
相关资源
最近更新 更多