[英]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.