将timedelta导入为td 我有一个约会时间,我想为它添加一个小时数组。
即。
Date[0]
datetime.datetime(2011, 1, 1, 0, 0)
Date[0] + td(hours=9)
datetime.datetime(2011, 1, 1, 9, 0)
hrs = [1,2,3,4]
Date[0] + td(hours=hrs)
但很明显它不受支持。
上面的日期数组是一个大小为100X1的巨型数组,我想在每行Date添加hrs = [1,2,3,4]以获得大小为100x4的日期时间数组。因此,在我的情况下,for循环不起作用。
答案 0 :(得分:2)
使用嵌套的列表理解和.replace()
method。列表的示例包含2个日期时间:
In [1]: from datetime import datetime
In [2]: l = [datetime(2011, 1, 1, 0, 0), datetime(2012, 1, 1, 0, 0)]
In [3]: hours = [1, 2, 3, 4]
In [4]: [[item.replace(hour=hour) for hour in hours] for item in l]
Out[4]:
[[datetime.datetime(2011, 1, 1, 1, 0),
datetime.datetime(2011, 1, 1, 2, 0),
datetime.datetime(2011, 1, 1, 3, 0),
datetime.datetime(2011, 1, 1, 4, 0)],
[datetime.datetime(2012, 1, 1, 1, 0),
datetime.datetime(2012, 1, 1, 2, 0),
datetime.datetime(2012, 1, 1, 3, 0),
datetime.datetime(2012, 1, 1, 4, 0)]]
结果是2x4列表。