python中最近六个月的数字



我想在python中以列表的形式获得最近六个月的数字。假设我们在三月,我想获得:

>>> last_six_months
[2, 1, 12, 11, 10]

您最好的选择是只使用月份的模数计算:

[(datetime.today().month - i - 1) % 12 + 1 for i in range(6)]

包括当前月份;如果只需要前5个月的数据,请使用range(1, 6)

演示:

>>> [(datetime.today().month - i - 1) % 12 + 1 for i in range(6)]
[3, 2, 1, 12, 11, 10]

(month - 1) % 12 + 1模式确保您总是获得1到12之间的值。

我想出了这样一个列表推导式:

from datetime import datetime, timedelta
last_six_months = [(datetime.today() - timedelta(days=i)).month for i in range(30, 180, 30)]

相关内容

  • 没有找到相关文章

最新更新