在 python 中,我有一個這種格式的日期陣列(2022 年 1 月,第 1 周)。我想先按年排序,然后按月排序,然后按周數排序。
只是為了給出一個直觀的表示,下面是一個日期陣列的例子。
January, Week 4, 2022
January, Week 3, 2022
January, Week 2, 2022
December, Week 5, 2022
November, Week 1, 2021
October, Week 5, 2021
October, Week 2, 2021
September, Week 3, 2021
September, Week 1, 2021
August, Week 1, 2021
uj5u.com熱心網友回復:
有多種解決方案,但如果您不介意使用 hack,您可以使用具有正確格式的strptime:
from datetime import datetime
s = "January, Week 4, 2022"
fmt = "%B, Week %d, %Y"
dtime = datetime.strptime(s, fmt)
這里 %B 代表月份全名,%Y 是一年,(這里是一個 hack)%d 是一天。如果我們準備日期時間串列,我們可以按自然順序對其進行排序
sorted([datetime.strptime(s, fmt) for s in input_list]) # or with reverse=True
最后,您可以使用datetime.strftime回傳 str 格式
uj5u.com熱心網友回復:
這應該會讓你開始......如果你使用 sort() 函式。它根據您的要求進行安排(升序、取決于等...)
from datetime import datetime
my_dates = ['5-Nov-18', '25-Mar-17', '1-Nov-18', '7-Mar-17']
my_dates.sort(key=lambda date: datetime.strptime(date, "%d-%b-%y"))
print(my_dates)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/381708.html
上一篇:多條件排序功能
