给定期间每月第一天的 Python 列表

标签 python list

我正在尝试找到一种创建日期列表的有效方法,该列表仅包括给定时间段的一个月的第一天。像这样但更好的东西:

import datetime
dates = [
  datetime.date (2014, 4, 1),
  datetime.date (2014, 5, 1),
  datetime.date (2014, 6, 1),
  datetime.date (2014, 7, 1),
  datetime.date (2014, 8, 1),
  datetime.date (2014, 9, 1),
  datetime.date (2014, 10, 1),
  datetime.date (2014, 11, 1),
  datetime.date (2014, 12, 1),
  datetime.date (2015, 1, 1),
  datetime.date (2015, 2, 1)]

或者,一些关于谷歌的方向。干杯!

最佳答案

>>> startyear = 2014
>>> startmonth = 4
>>> endyear = 2015
>>> endmonth = 2
>>> [datetime.date(m/12, m%12+1, 1) for m in xrange(startyear*12+startmonth-1, endyear*12+endmonth)]
[datetime.date(2014, 4, 1), datetime.date(2014, 5, 1), datetime.date(2014, 6, 1), datetime.date(2014, 7, 1), datetime.date(2014, 8, 1), datetime.date(2014, 9, 1), datetime.date(2014, 10, 1), datetime.date(2014, 11, 1), datetime.date(2014, 12, 1), datetime.date(2015, 1, 1), datetime.date(2015, 2, 1)]

对于 Python 3,您需要使用 range而不是 xrange , 和 // ( floor division ) 而不是 / (它在 Python 3 中进行 float 除法):
[datetime.date(m//12, m%12+1, 1) for m in range(startyear*12+startmonth-1, endyear*12+endmonth)]

关于给定期间每月第一天的 Python 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22696662/

相关文章:

Python 请求 + Azure VM

python - 来自无组织数据的条形图 - 数据框创建?

python - 计算每个元音出现的次数

python - 只取字符串元素中的字母

python - 使用标志值在 Python 中高效双向映射

python - 使用Power方法从Python中的3x3矩阵获取特征值

python - 如何记录参数是Python中的函数类型

python - 检查列表中是否有元素

java - 返回接口(interface)对象的列表

python - 如何确定列表中的几个最小值?