栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Python中遍历一系列日期

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Python中遍历一系列日期

为什么会有两个嵌套的迭代?对我来说,它仅需一次迭代即可生成相同的数据列表:

for single_date in (start_date + timedelta(n) for n in range(day_count)):    print ...

而且没有列表被存储,只有一个生成器被迭代。同样,生成器中的“ if”似乎不必要。

毕竟,线性序列只需要一个迭代器,而不是两个。

与John Machin讨论后更新:

也许最优雅的解决方案是使用生成器函数完全隐藏/抽象日期范围内的迭代:

from datetime import timedelta, datedef daterange(start_date, end_date):    for n in range(int ((end_date - start_date).days)):        yield start_date + timedelta(n)start_date = date(2013, 1, 1)end_date = date(2015, 6, 2)for single_date in daterange(start_date, end_date):    print(single_date.strftime("%Y-%m-%d"))

注意:为了与内置

range()
函数保持一致,此迭代在到达之前停止
end_date
。因此,对于包容迭代,请使用第二天,就像使用一样
range()



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431827.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号