我如何得到以下列表如何更改python中的時間格式?
[datetime.date(2011, 4, 1), datetime.date(2011, 4, 8), datetime.date(2011, 4, 16), datetime.date(2011, 5, 21)]
爲
['2011-04','2011-05']
它不僅轉換爲字符串,但刪除的DUP
我如何得到以下列表如何更改python中的時間格式?
[datetime.date(2011, 4, 1), datetime.date(2011, 4, 8), datetime.date(2011, 4, 16), datetime.date(2011, 5, 21)]
爲
['2011-04','2011-05']
它不僅轉換爲字符串,但刪除的DUP
使用datetime.date.strftime轉換日期爲字符串。
dates = [date.strftime('%Y-%m') for date in dates]
您可以通過將列表轉換爲集合然後返回列表來刪除重複項。
dates = list(set(dates))
然後結合這兩種方法在一個步驟中完成所有操作。
dates = list(set([date.strftime('%Y-%m') for date in dates]))
>>> dates = [datetime.date(2011, 4, 1), datetime.date(2011, 4, 8), datetime.date(2011, 4, 16), datetime.date(2011, 5, 21)]
>>> set([date.strftime('%Y-%m') for date in dates])
set(['2011-05', '2011-04'])
set
匝的列表爲一組對象,刪除重複。 [date.strftime('%Y-%m') for date in dates]
是一個列表理解,使用具有年份月份模式的strftime
函數將每個日期轉換爲字符串。
In [43]: import datetime
In [44]: dates=[datetime.date(2011, 4, 1), datetime.date(2011, 4, 8), datetime.date(2011, 4, 16), datetime.date(2011, 5, 21)]
In [45]: set([date.strftime('%Y-%m') for date in dates])
Out[45]: set(['2011-04', '2011-05'])
我首先需要將日期更改爲字符串....否則,日期全部不同 – Merlin 2011-04-01 13:23:56
已被棄用? – Merlin 2011-04-01 13:24:40
@ user428862我到了那裏。忍耐。 ;) – 2011-04-01 13:25:36