繁体   English   中英

如何在python中按日期时间对列表进行排序?

[英]How to sort a list by datetime in python?

我正在编写一个.py文件以按时间对列表进行排序,其中包含以下信息

日期,时间,emp_id,action_performed

在stackoverflow上有一个关于此的问题,但我无法完全遵循(我是python的新手)

我还检查了排序功能和日期时间库,但无法使其正常工作。

list = 
[
('2017/09/10 13:19:38', 'employee_id', 'enrolled'),
('2017/09/10 12:15:21', 'employee_id', 'deleted'),
('2017/09/10 21:19:34', 'employee_id', 'enrolled'),
('2017/09/10 22:42:50', 'employee_id', 'deleted'),
('2017/09/10 16:53:03', 'employee_id', 'enrolled')
]

我只想知道首先执行了哪个操作。 有人可以帮我吗?

from datetime import datetime
list = 
[
('2017/09/10 13:19:38', 'employee_id', 'enrolled'),
('2017/09/10 12:15:21', 'employee_id', 'deleted'),
('2017/09/10 21:19:34', 'employee_id', 'enrolled'),
('2017/09/10 22:42:50', 'employee_id', 'deleted'),
('2017/09/10 16:53:03', 'employee_id', 'enrolled')
]
sorted_list = sorted(list, key=lambda t: datetime.strptime(t[0], '%Y/%m/%d %H:%M:%S'))

使用已sorted函数的key参数,在这种情况下,它告诉函数将每个元组的第一个元素解析为日期时间字符串,其格式为'%Y/%m/%d %H:%M:%S'和使用该值进行排序。

尝试这个:

sorted_list = sorted( list )

=)

在这种情况下,简单的list.sort()可以对列表进行适当排序,或者sorted(list)可以返回列表的排序副本,只要日期和时间遵循Y / M / DH / M,就可以完美地工作/ S。

要在一行中执行第一个已执行的操作,可以使用:

first_action = sorted(list)[0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM