我有以下清單-
['ABC_20220816_21:50:07:UTC.pcap', 'ABC_20220816_17:05:23:UTC.pcap', 'ABC_20220816_18:06:10:UTC.pcap', 'ABC_20220816_17:10:23:UTC.pcap', ' ABC_20220816_16:45:05:UTC.pcap', 'ABC_20220816_19:07:30:UTC.pcap', 'ABC_20220816_21:19:08:UTC.pcap', 'ABC_20220816_19:37:48:UTC.pcap', 'ABC_20220816_20: 13:31:UTC.pcap'、'ABC_20220816_18:27:29:UTC.pcap'、'ABC_20220816_19:32:48:UTC.pcap']
格式如下 - ABC_%Y%m%d_%H:%M:%S:UTC.pcap
我想以升序回傳一個排序串列。我試過 sort() 和 sorted() 函式。我什至嘗試過使用 datetime(in lambda function) 模塊,但我不知道如何讓它作業。有人可以幫我嗎?謝謝你。
uj5u.com熱心網友回復:
利用:
import dateutil.parser as dparser
from datetime import datetime
a=['ABC_20220816_21:50:07:UTC.pcap', 'ABC_20220816_17:05:23:UTC.pcap', 'ABC_20220816_18:06:10:UTC.pcap', 'ABC_20220816_17:10:23:UTC.pcap', 'ABC_20220816_16:45:05:UTC.pcap', 'ABC_20220816_19:07:30:UTC.pcap', 'ABC_20220816_21:19:08:UTC.pcap', 'ABC_20220816_19:37:48:UTC.pcap', 'ABC_20220816_20:13:31:UTC.pcap', 'ABC_20220816_18:27:29:UTC.pcap', 'ABC_20220816_19:32:48:UTC.pcap']
b=sorted(a, key=lambda x: datetime.strptime(str(dparser.parse(x,fuzzy=True)), '%Y-%m-%d %H:%M:%S 00:00'))
print(b)
'''
['ABC_20220816_16:45:05:UTC.pcap', 'ABC_20220816_17:05:23:UTC.pcap', 'ABC_20220816_17:10:23:UTC.pcap', 'ABC_20220816_18:06:10:UTC.pcap', 'ABC_20220816_18:27:29:UTC.pcap', 'ABC_20220816_19:07:30:UTC.pcap', 'ABC_20220816_19:32:48:UTC.pcap', 'ABC_20220816_19:37:48:UTC.pcap', 'ABC_20220816_20:13:31:UTC.pcap', 'ABC_20220816_21:19:08:UTC.pcap', 'ABC_20220816_21:50:07:UTC.pcap']
'''
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/521377.html
