获取 python for 循环中的第一个和最后一个项目

2024-01-09

是否有一种优雅且Pythonic的方法来捕获在生成器上迭代的for循环中的第一个和最后一个项目?

from calendar import Calendar

cal = Calendar(6)
month_dates = cal.itermonthdates(year, month)
for date in month_dates:
    if (is first item):     # this is fake
        month_start = date
    if (is last item):      # so is this
        month_end = date

此代码尝试获取该月结束的一周的第一天和该月结束的一周的最后一天。示例:对于 6 月,月份开始应计算为 5/31/09。尽管从技术上讲这是五月的一天,但它是六月开始的一周的第一天。

Month-dates 是一个生成器,所以我不能做 [:-1] 的事情。有什么更好的方法来处理这个问题?


我只是在开始时将其强制放入列表中:

from calendar import Calendar, SUNDAY

cal = Calendar(SUNDAY)
month_dates = list(cal.itermonthdates(year, month))

month_start = month_dates[0]
month_end = month_dates[-1]

由于只能有 42 天(计算前导和尾随上下文),因此这对性能的影响可以忽略不计。

此外,使用 SUNDAY 比使用幻数更好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 python for 循环中的第一个和最后一个项目 的相关文章

  • 具有日期变量的 SSIS For 循环容器

    我想创建一个每月包 在 ODBC 上执行每日查询并写入输出文件 更具体地说 必须首先在上个月的第一天执行查询 e g 01 11 2018 然后下一个 02 11 2018 直到上个月的最后一天 30 11 2018 日期变量当前保存为字符
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 有没有办法检测正在运行的代码是否正在上下文管理器内执行?

    正如标题所述 有没有办法做到这样的事情 def call back if called inside context print running in context else print called outside context 这将
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P

随机推荐

  • 在“获取源”步骤之后,TFS 保持不同步

    We migrated to TFS 2015 RTM recently and were successful in creating build pools configuring build agents and build defi
  • 创建静态库

    我正在尝试创建一个静态库以在我的 PHP 扩展中使用 为此 我正在编译我的 c文件使用gcc c file c o file o并获得 o文件 然后我用ar rcs lib a o将所有编译的对象归档到 a file 完成此操作后 我指的是
  • haskell负十进制数[重复]

    这个问题在这里已经有答案了 可能的重复 Haskell 中的负双精度数或浮点数 macports https stackoverflow com questions 4101599 negative doubles or floats in
  • 表单验证如何排除输入字段?

    我正在关注 bootstrap 4 表单验证https getbootstrap com docs 4 0 components forms validation https getbootstrap com docs 4 0 compon
  • 如何在 Context.MODE_PRIVATE 中创建嵌套文件夹和文件?

    我有一个要求 需要使用嵌套结构编写文件和文件夹Context MODE PRIVATE 我发现我们可以使用创建文件openFileOutput FILENAME Context MODE PRIVATE 并能够使用此方法创建文件 但后来我发
  • 如何从我的应用程序中启动 Mail.app 中的新消息窗口

    我可以使用命令启动 Mail app NSWorkspace共享工作空间 launchApplication Mail app 但我想在 Mail app 中启动新消息窗口 而不是整个 Mail app 我怎样才能这样做呢 我得到了答案 N
  • 从文件返回细节,python

    我有这段代码 我正在尝试计算以下内容的数量 py 脚本中的代码行 for loops 对于 while loops 同时 if 语句 如果 函数定义 def 乘号 除号 加号 减号 在数学符号上 代码可以工作 但是当代码寻找 if 语句时
  • 如何使用cmd/批处理文件删除目录中名为x的所有文件夹

    我有一个名为 x 的文件夹 其中包含许多子文件夹和文件 我想删除 x 中存在的名为 y 的文件夹及其所有子文件夹 必须删除的所述文件夹可能包含也可能不包含任何文件 我相信我可以使用 cmd 或某种批处理文件来完成此操作 但我是一个命令行新人
  • 在位图样式设计器中更改字体

    Delphi XE7 提供了 位图样式设计器 工具 工具 gt 位图样式设计器 可用于为您的 Metro 主题应用程序编辑和创建样式 更改按钮 复选框和标签的图形和颜色很有效 而且看起来很漂亮 但如何更改字体设置呢 更准确地说 我该怎么做才
  • 比亚恩会犯错误吗? (一边解释模板),还是我还是不明白?

    伙计们 我正在做 C 编程语言第三版 的练习 第 340 页有一个函数示例 template
  • 确定文件是否为空(SSIS)

    我正在尝试在 SSIS 2005 中开发一个包 我的过程的一部分是检查网络上的文件是否为空 如果不为空 则需要传递成功状态 否则 需要传递不成功状态 我想我需要一个脚本任务 但不知道如何去做 任何帮助表示赞赏 Create a connec
  • 保留 Emacs 中的窗口布局

    我已经以某种方式设置了我的窗口 如何保存此设置以供以后调用 我有时还是用C x r w
  • 验证本地 Laravel Homestead 服务器上的自签名证书

    我按照以下详细信息创建了 SSL 证书 因此我可以使用 https 通过 Laravel 的 Homestead 运行本地测试站点 在 homestead 虚拟机上添加 https 证书 https stackoverflow com qu
  • UITableViewController 背景图片

    如何设置图像UITableViewController 我使用了很多东西 但它不能帮助我将图像设置为背景 UIImageView bgView UIImageView alloc initWithImage UIImage imageNam
  • 在 r 绘图文本中指定小数位?

    我尝试格式化在基本图形系统中创建的回归曲线的标签 基本上 该标签从变量中提取斜率 截距和 r 方值 示例如下 plot rnorm 10 type n xlim c 0 100 ylim c 0 100 text x 0 y 100 adj
  • VBA许多按钮指向同一个_Click sub

    我的表单上有一堆文本框按钮对 单击按钮时 我想将文本框的值插入数据库 名称 文本框 和 按钮 遵循命名标准 例如 Value1Tb Value1Cmd 和 Value2Tb Value2Cmd 我的问题是 因为我想对每个按钮执行相同的操作
  • 哪个 Eclipse 可以与 ADT 完美配合?

    Eclipse 有很多版本 例如 靛蓝 朱诺 开普勒 月球 火星 其中哪一个最适合 ADT Stack Overflow 上有很多这样的问题 但都是 4 5 年前的问题 我正在寻找更新的东西 我提出你的问题是因为我自己也想知道这个问题 因为
  • 当一个子类没有额外属性时,教义表类继承

    我的映射有问题 我无法让它工作 我有一个像这样的抽象基类 Entity Table name actions InheritanceType JOINED DiscriminatorColumn name type type string
  • 依赖注入和开发效率

    Abstract 在过去的几个月里 我一直在编写一个轻量级 基于 C 的游戏引擎 具有 API 抽象和实体 组件 脚本系统 它的整体理念是通过提供类似于 Unity 引擎的架构来简化 XNA SlimDX 等游戏开发过程 设计挑战 正如大多
  • 获取 python for 循环中的第一个和最后一个项目

    是否有一种优雅且Pythonic的方法来捕获在生成器上迭代的for循环中的第一个和最后一个项目 from calendar import Calendar cal Calendar 6 month dates cal itermonthda