我有一個這種格式的字串串列:
my_strings = [
"10.02.20 time 09.24",
"06.02.20 time 08.51",
"10.02.20 time 09.24",
"10.02.20 time 09.25",
"10.02.20 time 09.26",
"10.02.20 time 09.27",
"10.02.20 time 09.28",
"10.02.20 time 09.29"
]
如何根據日期和時間對它們進行正常和反向排序?我想我應該使用類似的東西:
my_strings.sort(key=lambda date: datetime.strptime(date, "%d-%b-%y"))
但這不起作用。
uj5u.com熱心網友回復:
假設你的格式是“day.month.year time hours.minute”,你需要:
my_strings.sort(key=lambda date: datetime.strptime(date, '%d.%m.%y time %H.%M'))
如果“正常和反轉”是指升序和降序,對于后者,您可以使用 反轉已排序的串列my_strings[::-1],或者直接使用 進行排序my_strings.sort(key=..., reverse=True)。
uj5u.com熱心網友回復:
根據strptime 函式的檔案,對該函式的正確呼叫是:
strptime(date, "%d.%m.%y time %H.%M")
在%b你把你的代碼是“月如語言環境的縮寫名稱(一月,二月,......,十二月),但正確的是%m為‘每月零填充十進制數’,你還需要包括time %H.%M字串宣告中它作業的格式,否則你會得到一個ValueError: time data '10.02.20 time 09.24' does not match format '%d.%b.%y'
uj5u.com熱心網友回復:
您匯入 datetime 模塊的陳述句可能是import datetime,嘗試from datetime import datetime。這都是代碼
from datetime import datetime
my_strings = [
"10.02.20 time 09.24",
"06.02.20 time 08.51",
"10.02.20 time 09.24",
"10.02.20 time 09.25",
"10.02.20 time 09.26",
"10.02.20 time 09.27",
"10.02.20 time 09.28",
"10.02.20 time 09.29"
]
my_strings.sort(key=lambda date: datetime.strptime(date, "%y.%m.%d time %H.%M"))
print(my_strings)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/362885.html
上一篇:控制臺日志承諾nodejs
