while 循环的 Python 枚举

2024-01-16

Python 有一种优雅的方式自动生成计数器变量for循环:enumerate功能。这节省了初始化和递增计数器变量的需要。计数器变量也很丑陋,因为一旦循环完成它们通常就没用了,但它们的作用域不是循环的作用域,因此它们不需要占用命名空间(尽管我不确定是否enumerate实际上解决了这个问题)。

我的问题是,是否有类似的Pythonic解决方案while loops. enumerate不会为while循环自enumerate返回一个迭代器。理想情况下,解决方案应该是“Pythonic”并且不需要函数定义。

例如:

x=0
c=0
while x<10:
  x=int(raw_input())
  print x,c
  c+=1

在这种情况下,我们希望避免初始化和递增c.

澄清:

这可以通过无穷无尽的方式来完成for正如一些人所建议的那样,使用手动终止循环,但我正在寻找一种使代码更清晰的解决方案,并且我不认为该解决方案在这种情况下使代码更清晰。


对伊格纳西奥答案的改进(我想说的是可读性):

x = 0
for c in itertools.takewhile(lambda c: x < 10, itertools.count()):
    x = int(raw_input())
    print x, c

优点:

  • 只有 while 循环条件位于循环头中,而不是副作用 raw_input。
  • 循环条件可以取决于普通 while 循环可能出现的任何条件。没有必要将引用的变量“导入”到 takewhile 中,因为它们已经在 lambda 作用域中可见。此外,如果您愿意,它可以取决于计数,但在本例中不是。
  • 简化:枚举根本不再出现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

while 循环的 Python 枚举 的相关文章

  • while循环内的递归,它是如何工作的?

    你能告诉我这段java代码是如何工作的吗 public class Main public static void main String args Strangemethod 5 public static void Strangemet
  • 漂亮的地图打印机会抛出类型错误

    我已经使用配置了漂亮的打印机http wiki eclipse org CDT User FAQ How can I inspect the contents of STL containers 3F http wiki eclipse o
  • python blpapi安装错误

    我试图根据 README 中的说明为 python 安装 blpapi 3 5 5 但是在运行时 python setup py install 我收到以下错误 running install running build running b
  • 如何使用 ipywidgets 创建动态依赖下拉菜单?

    我创建了一个带有两个下拉菜单的表单 我的目标是使一个下拉列表依赖于另一个下拉列表 这张图说明了我的目标和目前的情况 https i stack imgur com o9k5G png 下面的示例代码可以在 Google Colab 或 Ju
  • 监控培训课程如何运作?

    我试图理解使用之间的区别tf Session and tf train MonitoredTrainingSession 以及我可能更喜欢其中之一 似乎当我使用后者时 我可以避免许多 杂务 例如初始化变量 启动队列运行程序或设置文件编写器以
  • 如何不断地将 STDOUT 发送到我的 python TCP 服务器?

    我有简单的 python echo 服务器 它使用套接字 并向客户端回显随机数 我有另一个程序 每 2 秒将值打印到标准输出 如果它只是一个脚本 我可以像这样重定向 stdout python script py 并像这样在脚本中获取它da
  • Python 可选参数对

    我正在使用argparse模块获取两个可选的命令行参数 parser add argument start date nargs metavar START DATE help start date in YYYY MM DD parser
  • Python 中使用 globals() 的原因?

    Python 中有 globals 函数的原因是什么 它只返回全局变量的字典 这些变量已经是全局的 所以它们可以在任何地方使用 我只是出于好奇而问 试图学习Python def F global x x 1 def G print glob
  • telethon 库:如何通过电话号码添加用户

    我正在研究 Telegram 的 Telethon 库 它可以使用 Telegram API 充当 Telegram 客户端 重要提示 这是电报客户端 API https core telegram org telegram api 而不是
  • 在 Python 中将嵌套字典位置作为参数传递

    如果我有一个嵌套字典 我可以通过索引来获取键 如下所示 gt gt gt d a b c gt gt gt d a b c 我可以将该索引作为函数参数传递吗 def get nested value d path a b return d
  • 如何在自定义 django 命令中抽象出命令代码

    我正在我的应用程序下编写自定义 django 命令management commands目录 目前我在该目录中有 6 个不同的文件 每个文件都有不同的命令来解决独特的需求 然而 有一些实用程序是它们所共有的 抽象出这些公共代码的最佳方法是什
  • Django:显示管理员验证错误的自定义错误消息

    我正在使用 Django 1 2 4 我有一个模型 其中有一个需要验证的字段 当验证失败时 我想向用户显示自定义错误消息 模型编辑是在管理界面中完成的 这就是我目前正在做的事情 def clean fields self exclude N
  • 如何输入可变的默认参数

    Python 中处理可变默认参数的方法是将它们设置为无 https stackoverflow com a 366430 5049813 例如 def foo bar None bar if bar is None else bar ret
  • 具有行业级约束的 SciPy 投资组合优化

    尝试在这里优化投资组合权重分配 通过限制风险来最大化我的回报函数 我可以毫无问题地通过简单的约束 所有权重之和等于 1 找到产生我的回报函数的优化权重 并做出另一个约束 即我的总风险低于目标风险 我的问题是 如何为每个组添加行业权重界限 我
  • Django 按小时过滤

    我找到了那个链接 http code djangoproject com attachment ticket 8424 time filters diff http code djangoproject com attachment tic
  • 如何正确将 tflite_graph.pb 转换为 detector.tflite

    我正在使用tensorflow对象检测API使用tensorflow中的ssdlite mobilenet v2 coco 2018 05 09来训练自定义模型模型动物园 https github com tensorflow models
  • 如何通过 Selenium 内部的文本查找按钮(Python)?

    我有以下三个按钮 我不知道如何获取其中的文本 例如异常值 我试过browser find element by link text Outliers click 但出现 无法找到元素 错误 我该怎么做 See find element by
  • AES 在 cryptojs 中加密并在 python Crypto.Cipher 中解密

    使用 js CryptoJS 加密并使用 python crypto Cipher 解密时出现问题 这是我在js中的实现 附加 iv 与加密消息并使用 base64 进行编码
  • 具有重复值的 Sqlite 列

    就说专栏吧aSQLite 数据库的非常重复 始终有相同的 4 个值 其他值可能稍后出现 但不同值的数量将少于 1000 个 VALUES hello world it s a shame to store this str many tim
  • 如何从Python枚举类中获取所有值?

    我正在使用 Enum4 库创建一个枚举类 如下所示 class Color Enum RED 1 BLUE 2 我要打印 1 2 作为某处的列表 我怎样才能实现这个目标 您可以执行以下操作 e value for e in Color

随机推荐

  • 将 OpenID 与 Zend Framework 结合使用

    我希望我的网站能够完全执行 Stackoverflow 使用 openId 所做的操作 我正在梳理资料来源 之前我也曾在 facebook 上这样做过 但是 OpenID 方面没有取得太大进展 我想做的只是检测是否有人登录了谷歌 如果他们获
  • php facebook sdk 不会在 wordpress 中创建用户

    编辑后的问题 我试图在我的 WordPress 网站上使用 Facebook 登录插件this sdk https stackoverflow com questions 6034813 facebook uncaught oauthexc
  • 选择本地视频并在HTML5视频播放器中播放(全部本地,同一文件夹)

    对于学校 我需要使用带有额外控件的 HTML5 视频播放器以及从本地驱动器选择文件的选项 该页面也在本地运行 所以没有上传 文件 HTML 和视频 位于同一本地文件夹中 对于选择的东西 我使用一个表格
  • .h、.lib 和 .dll 如何协同工作

    要使用 FreeGlut 库函数 我必须执行以下操作 添加 freeglut h 作为头文件 添加 freeGlut lib 作为资源文件 将 freeGlut dll 复制到我的 windows SysWOW64 文件夹 但是 整个系统
  • 将 Windows 身份验证与 ASP.NET MVC 结合使用

    我确信这是一个基本答案 但我的搜索能力今天对我没有帮助 我有一个 ASP NET MVC 2 NET 3 5 应用程序 它托管在 IIS 6 上 为了这个问题 我有两个网址 http example com http example com
  • 如何删除 Android Lollipop 中的前台通知?

    我希望停止 关闭媒体播放器服务的前台通知 这与 Google 的 Google Music 实现非常相似 例如 在 Google Music 中 如果您正在播放音乐 则无法将通知移开 但是 如果您暂停音乐 它就可以 这与 Android 4
  • 如何根据元素而不是节点顺序对 D3 力模拟节点进行分层?

    我有一个 D3 v4 力模拟 节点在屏幕上移动 每个节点都是由一个圆圈和其下方的一些文本组成的组 我如何排序 以便圆圈位于底层 文本始终位于顶层 一个圆圈与另一个圆圈重叠是可以的 但一个圆圈与文本顶部重叠是绝对不行的 这是我所拥有的 目前
  • 使用 java 的 Calendar 类比较日期

    用户输入的日期使用下拉菜单分别表示日 月和年 我必须将用户输入的日期与今天的日期进行比较 并检查它是同一天还是未来的一天 我对时间部分有点困惑 因为我对时间不感兴趣 只对日期感兴趣 如何在不使用 Date 类的情况下解决这个问题 我读到不建
  • PHP 中使用哪种压缩方法?

    我需要使用两个 PHP 脚本来移动大量数据 一个在客户端使用命令行 PHP 脚本 另一个在 Apache 后面 我将数据发布到服务器端并使用 php input 流将其保存在网络服务器端 为了防止达到任何内存限制 每个 POST 请求的数据
  • MySQL 结果以逗号分隔列表形式

    我需要运行如下查询 SELECT p id p name SELECT name FROM sites s WHERE s id p site id AS site list FROM publications p 但我希望子选择返回一个逗
  • 尝试使用清单中的以下图标时出错

    运行反应应用程序时 我的控制台总是显示此错误消息 gt Error while trying to use the following icon from the Manifest gt http localhost 3000 favico
  • 在 Cordova 和 Ionic 中检测屏幕关闭/打开

    我想检测手机何时锁定和解锁 计划是在手机解锁时显示 非广告 弹出窗口 到目前为止 Cordova 似乎只支持暂停和恢复事件 这不会让我获得我需要的功能 本机 Android 支持屏幕开 关和用户呈现事件 是否可以使用这些事件 如果不能 是否
  • R 中的聚合数据

    我正在寻找一个关于如何使用的简单示例aggregate并计算 R 中的平均值 比如说 我有以下数据框 A B 100 85 200 95 300 110 400 105 我想计算某些范围的平均值 结果如下 RANGE MEAN 100 20
  • 从 Windows 通过 Cygwin 运行 Git

    我最近开始将 Cygwin 用于其他目的 并且已经在我的 PC 上安装了 Git 我知道我可以运行可执行文件并将 Git 安装到 Cygwin 中 但因为我已经安装了它 我希望 Cygwin 只使用我的 Windows 安装 我尝试过研究如
  • 如何更改 ATOM 控制台中的控制台字体大小 [电子邮件受保护]

    I am using ATOM for all my scripting There is a package named Script where you can run your script from within ATOM by p
  • MSTest 在错误位置查找 DLL

    我正在运行一个测试工具 但由于类型未解析而无法运行 更具体地说 是错误绑定上的 SerializationException 我使用fuslogvw来追踪它在哪里寻找DLL 但没有找到它 我很困惑为什么它在它所在的位置寻找 Pre bind
  • 适用于 Google 云端硬盘的 Android API?

    目前发布的 API 似乎主要针对 Chrome 商店应用程序 是否会有适用于 Android 的 API 或者是否可以使用现有的 API 例如 Google 文档列表数据 如果是这样 应该使用哪个 URL 来列出 访问文件 编辑 随着文档列
  • Item PropertyChanged 不适用于 observableCollection。为什么?

    我到处寻找解决方案 但似乎没有深入了解 就像网上的许多帖子一样 我似乎没有让我的 itemPropertyChanged 工作 编辑集合中的项目时它不会触发 为什么 有点长 但这是我整理的一个例子 我有一个客户 ViewModel 其中包含
  • 如何以编程方式“打开”Material-UI Select 字段?

    选择字段可以在这里找到 在 Material UI 演示中 http www material ui com components select field 它的方法似乎是从菜单 弹出窗口类继承的 但我无法弄清楚如何在 onFocus 事件
  • while 循环的 Python 枚举

    Python 有一种优雅的方式自动生成计数器变量for循环 enumerate功能 这节省了初始化和递增计数器变量的需要 计数器变量也很丑陋 因为一旦循环完成它们通常就没用了 但它们的作用域不是循环的作用域 因此它们不需要占用命名空间 尽管