假設我有兩個串列:
list1 = ['2022-01-01','2022-02-02']
list2 = ['2021-03-03','2021-04-04']
現在我想將 list1[0] 之類的串列與 list2[0] 匹配,因此預期的輸出如下:
output = [['2022-01-01','2021-03-03'],['2022-02-02','2021-04-04']]
我已經使用以下代碼實作了這一點:
output = [list(a) for a in zip(list1 , list2)]
它作業得很好,但問題是我需要將日期轉換為 pythons 日期形式。到目前為止,日期是正常的本地格式,但我需要在壓縮時將其轉換為 pythons datetime.datetime 格式。那么該怎么做呢?
uj5u.com熱心網友回復:
你可以使用方法datetime.strptime。
以下是格式化代碼。
你可以這樣做:
from datetime import datetime
list1 = ['2022-01-01', '2022-02-02']
list2 = ['2021-03-03', '2021-04-04']
date_formst = '%Y-%m-%d'
output = [
list(a)
for a in zip(
[datetime.strptime(d, date_formst) for d in list1],
[datetime.strptime(d, date_formst) for d in list2]
)
]
print(output)
輸出將是:
[[datetime.datetime(2022, 1, 1, 0, 0), datetime.datetime(2021, 3, 3, 0, 0)], [datetime.datetime(2022, 2, 2, 0, 0), datetime.datetime(2021, 4, 4, 0, 0)]]
uj5u.com熱心網友回復:
您使用另一個串列理解:
import datetime as dt
list1 = ['2022-01-01', '2022-02-02']
list2 = ['2021-03-03', '2021-04-04']
output = [
[dt.datetime.strptime(dte, '%Y-%m-%d') for dte in a]
for a in zip(list1, list2)
]
print(output)
出去:
[[datetime.datetime(2022, 1, 1, 0, 0), datetime.datetime(2021, 3, 3, 0, 0)], [datetime.datetime(2022, 2, 2, 0, 0), datetime.datetime(2021, 4, 4, 0, 0)]]
uj5u.com熱心網友回復:
有很多方法可以實作這一目標。這是一個:
from datetime import datetime
FORMAT = '%Y-%m-%d'
list1 = ['2022-01-01','2022-02-02']
list2 = ['2021-03-03','2021-04-04']
def to_datetime(values):
return [datetime.strptime(v, FORMAT) for v in values]
output = list(map(to_datetime, zip(list1, list2)))
print(output)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/425634.html
下一篇:如何在熊貓中用逗號分隔串列元素
