python - 在python中创建2个日期之间的年份列表
问题描述
我有 2 个日期,并希望创建一个在这两个日期之间包含年份的列表。不知何故努力在python中做到这一点。
date1(2010, 1, 1)
date2(2015, 1, 1)
输出应该是这样的
years = [2010, 2011, 2012, 2013, 2014, 2015]
我尝试了以下但无法创建列表
def daterange(date1, date2):
for n in range(int(date2.year) - int(date1.year)+1):
yield int(date1.year) + n
start_dt = date(2010, 12, 20)
end_dt = date(2016, 1, 11)
for dt in daterange(start_dt, end_dt):
print(dt)
这会打印年份但不确定如何将它们放入列表中?还有一种更简单的方法来创建列表吗?
解决方案
daterange
是发电机。所以只需将它传递给list
函数。
years = list(daterange(start_dt, end_dt))
请注意,您的代码可以进一步优化
推荐阅读
- css - 如何设置弹性行的高度但仍允许行垂直扩展?
- spring-boot - springdoc swagger-ui 重定向不包括主机名
- javascript - 如何使用单个变量(vanilla JS)更改多个元标记描述?
- rust - Rust:Unicode 感知字符串匹配
- r - R [Shiny]:如何制作显示动态系统模型的响应式闪亮应用程序?
- php - 从 php 执行时,Bash 脚本的行为不同
- react-native - 世博会反应本机导航的问题
- php - 运行“php artisan make:model Flight -mfsc”返回“-s”选项不存在。
- python - 导出/查看整个张量 (764-d)
- firebase - Flutter Firebase 如何将流构建器与流的动态计数一起使用(流合并不起作用)