首页 > 解决方案 > Python:如何生成 2 的倍数的日期?

问题描述

在这里,我试图以 2 的倍数生成列表日期。

# input : current date: 01-10-2020 
# Output: list_of_dates =[02-10-2020,04-10-2020,08-10-2020,16-10-2020,01-11-2020,02-12-2020]

#pseudo code
current_date = 01-10-20
squence = [1,2,4,8,16,32,64]
date_list = []

for i in range(len(sequence)):
    current_date = current_date + a[i]
    date_list.append(current_date)

在 2020 年 16 月 10 日之后,我需要得到 01-11-2020 等等.. 这怎么办?

标签: pythonpandasnumpy

解决方案


这被标记为 pandas 但如果您想按照您在问题中发布的那样执行 python 循环,那么您可以这样做:

from datetime import datetime, timedelta
current_date = datetime.strptime('01-10-20', '%d-%m-%y')
squence = [1,2,4,8,16,32,64]
date_list = []

for i in squence:
    current_date = current_date + timedelta(days=i)
    date_list.append(current_date.strftime('%d-%m-%y'))
date_list
Out[1]: 
['02-10-20',
 '04-10-20',
 '08-10-20',
 '16-10-20',
 '01-11-20',
 '03-12-20',
 '05-02-21']

推荐阅读