生成列表的日期列表
Generate Date List of Lists
我想生成一个列表列表,其中每个子列表包含一个介于两个日期之间的日期。我最终将向每个子列表附加值。
我的代码:
from datetime import date, datetime, timedelta
def date_increments(start, end, delta):
curr = start
while curr < end:
yield curr
curr += delta
my_dates = []
row=0
for result in date_increments(date(2014, 10, 10), date(2014, 10, 12), timedelta(days=1)):
my_dates[row][0] = result
row += 1
print my_dates
错误:
my_dates[row][0] = result
IndexError: list assignment index out of range
期望的输出:
[[date(2014, 10, 10)],[date(2014, 10, 11)],[date(2014, 10, 12)]]
只需使用append
:
my_dates.append([result])
你甚至不需要使用 row
。
另外,使用:
while curr <= end:
为了在最终名单中有 end
。
对于更短的解决方案,请使用:
my_dates = [[res] for res in date_increments(date(2014, 10, 10), date(2014, 10, 12), timedelta(days=1))]
我想生成一个列表列表,其中每个子列表包含一个介于两个日期之间的日期。我最终将向每个子列表附加值。
我的代码:
from datetime import date, datetime, timedelta
def date_increments(start, end, delta):
curr = start
while curr < end:
yield curr
curr += delta
my_dates = []
row=0
for result in date_increments(date(2014, 10, 10), date(2014, 10, 12), timedelta(days=1)):
my_dates[row][0] = result
row += 1
print my_dates
错误:
my_dates[row][0] = result
IndexError: list assignment index out of range
期望的输出:
[[date(2014, 10, 10)],[date(2014, 10, 11)],[date(2014, 10, 12)]]
只需使用append
:
my_dates.append([result])
你甚至不需要使用 row
。
另外,使用:
while curr <= end:
为了在最终名单中有 end
。
对于更短的解决方案,请使用:
my_dates = [[res] for res in date_increments(date(2014, 10, 10), date(2014, 10, 12), timedelta(days=1))]