簡體   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