For 循环的迭代次数比我在 Python 中预期的要少[重复]

2024-01-03

我希望下面的循环迭代六次,而不是使用 python3 迭代三次。我不明白这种行为。 我知道当我删除元素时列表会发生变化,但我不知道这如何影响 for 循环条件。 为什么循环迭代少于六次?

a = [1, 2, 3, 4, 5, 6]
for elem in a:
        del a[0]
        print(a)

您将删除循环每次迭代中的第一个元素del a[0],因此迭代器分 3 步清空,因为它会移动到您在下一次迭代中删除的元素之后的元素。 您可以在下面的代码中检查迭代器当前所在的元素以及列表状态

a = [1, 2, 3, 4, 5, 6]
for elem in a:
    print(elem)
    del a[0]
    print(a)

输出是

1
[2, 3, 4, 5, 6]
3
[3, 4, 5, 6]
5
[4, 5, 6]

你可以把它想象成一个指向列表第一个元素的指针,当你在每次迭代中删除第一个元素时,该指针会跳转2步,并且对于6个元素它只能跳转3次。

一般来说,修改正在迭代的同一个列表是一个坏主意。 但如果你真的想要,你可以迭代列表的副本a[:]如果您确实想删除项目

a = [1, 2, 3, 4, 5, 6]
for elem in a[:]:
    del a[0]
    print(a)

输出是

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

For 循环的迭代次数比我在 Python 中预期的要少[重复] 的相关文章

  • 如何更改充当按钮的范围的文本

    我正在为自定义 Web 应用程序编写自动化测试 我遇到了无法更改跨度文本的问题 我尝试过使用 driver execute script 但没有运气 如果我更好地了解 javascript 这确实会有帮助 据我所知 您无法单击跨度 并且列表
  • 类属性在功能上依赖于其他类属性

    我正在尝试使用静态类属性来定义另一个静态类属性 我认为可以通过以下代码来实现 f lambda s s 1 class A foo foo bar f A foo 然而 这导致NameError name A is not defined
  • 如何将条目中的部分文本加粗并更改其背景颜色?

    我正在创建一个基于 Tkinter 的 GUI 它有一个 Entry 小部件 我想将其文本的一部分加粗并更改其背景颜色 但我不知道我该怎么做 如果我使用文本小部件 我可以只使用标签 但看起来它们不能与条目小部件一起使用 此代码使用文本小部件
  • 在 python-docx 中搜索和替换

    我有一个包含以下字符串的文档 模板 你好 我的名字是鲍勃 鲍勃是一个很好的名字 我想使用 python docx 打开此文档并使用 查找和替换 方法 如果存在 来更改每个字符串 Bob gt Mark 最后 我想生成一个新文档 其中包含字符
  • python ttk treeview:如何选择并设置焦点在一行上?

    我有一个 ttk Treeview 小部件 其中包含一些数据行 如何设置焦点并选择 突出显示 指定项目 tree focus set 什么也没做 tree selection set 0 抱怨 尽管小部件明显填充了超过零个项目 但未找到项目
  • python中函数变量的作用域

    假设我们有两个函数 def ftpConnect ftp FTP server ftp login ftp cwd path def getFileList ftpConnect files ftp nlst print files 如果我
  • 反加入熊猫

    我有两个表 我想附加它们 以便仅保留表 A 中的所有数据 并且仅在其键唯一时添加表 B 中的数据 键值在表 A 和 B 中是唯一的 但在某些情况下键将出现在表 A 和 B 中 我认为执行此操作的方法将涉及某种过滤联接 反联接 以获取表 B
  • 使用 genfromtxt 导入 numpy 中缺失值的 csv 数据

    我有一个 csv 文件 看起来像这样 实际文件有更多的列和行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 假设文件的名称是info csv如果我尝试使用导入它 data numpy genfromtxt i
  • Pandas:根据列名进行列的成对乘法

    我有以下数据框 gt gt gt df pd DataFrame ap1 X 1 2 3 4 as1 X 1 2 3 4 ap2 X 2 2 2 2 as2 X 3 3 3 3 gt gt gt df ap1 X as1 X ap2 X a
  • 使用Python将图像转换为十六进制格式

    我的下面有一个jpg文件tmp folder upload path tmp resized test jpg 我一直在使用下面的代码 Method 1 with open upload path rb as image file enco
  • Python unicode 字符代码?

    有没有办法将 Unicode 字符 插入 Python 3 中的字符串 例如 gt gt gt import unicode gt gt gt string This is a full block s unicode charcode U
  • ValueError:无法插入 ID,已存在

    我有这个数据 ID TIME 1 2 1 4 1 2 2 3 我想按以下方式对数据进行分组ID并计算每组的平均时间和规模 ID MEAN TIME COUNT 1 2 67 3 2 3 00 1 如果我运行此代码 则会收到错误 ValueE
  • asyncio - 多次等待协程(周期性任务)

    我正在尝试为异步事件循环创建定期任务 如下所示 但是我收到 RuntimeError 无法重用已等待的协程 异常 显然 asyncio 不允许等待相同的可等待函数 如中讨论的这个错误线程 https bugs python org issu
  • 如何在单独的文件中使用 FastAPI Depends 作为端点/路由?

    我在单独的文件中定义了一个 Websocket 端点 例如 from starlette endpoints import WebSocketEndpoint from connection service import Connectio
  • Pandas 在特定列将数据帧拆分为两个数据帧

    I have pandas我组成的 DataFrameconcat 一行由 96 个值组成 我想将 DataFrame 从值 72 中分离出来 这样 一行的前 72 个值存储在 Dataframe1 中 接下来的 24 个值存储在 Data
  • PyQt 中的线程和信号问题

    我在 PyQt 中的线程之间进行通信时遇到一些问题 我使用信号在两个线程 发送者和监听者 之间进行通信 发送者发送消息 期望被监听者接收 但是 没有收到任何消息 谁能建议可能出了什么问题 我确信这一定很简单 但我已经环顾了几个小时但没有发现
  • 具有指定置信区间的 Seaborn 条形图

    我想在 Seaborn 条形图上绘制置信区间 但我已经计算出置信区间 如何让 Seaborn 绘制我的置信区间而不是尝试自行计算它们 例如 假设我有以下 pandas DataFrame x pd DataFrame Group 1 0 5
  • 使用“pythonw”(而不是“python”)运行应用程序时找不到模块

    我尝试了这个最小的例子 from flask import Flask app Flask name app route def hello world return Hello World if name main app run deb
  • 从时间序列生成日期特征

    我有一个数据框 其中包含如下列 Date temp data holiday day 01 01 2000 10000 0 1 02 01 2000 0 1 2 03 01 2000 2000 0 3 30 01 2000 200 0 30
  • 如何识别图形线条

    我有以下格式的路径的 x y 数据 示例仅用于说明 seq p1 p2 0 20 2 3 1 20 2 4 2 20 4 4 3 22 5 5 4 22 5 6 5 23 6 2 6 23 6 3 7 23 6 4 每条路径都有多个点 它们

随机推荐

  • C# 查询 XML 文档

    再会 我正在尝试查询 XML 文档并有以下查询 XElement root XElement Load Data xml var entries root Descendants Where x gt x Name LocalName En
  • WPF 数据网格 [System.Windows.Data 错误:4]

    我有一个 WPF 应用程序DataGrid如下所示 数据网格 简化的
  • 如何从用户获取多行输入[重复]

    这个问题在这里已经有答案了 我想编写一个程序来获取多行输入并逐行使用它 为什么没有类似的功能raw input在 Python 3 中 input does not allow the user to put lines separated
  • Android 市场和 APK 文件名

    我将上传到 Android 市场的最终 apk 文件的名称重要吗 用户可以看到文件的名称吗 不 姓名 apk文件被忽略 用户将无法看到它 你可以命名 apk以您方便的任何方式 Android Market 只解析内部 apk文件并提取所需的
  • R随机森林不一致的预测

    我最近使用 R 中的 ranger 包构建了一个随机森林模型 但是 我注意到训练期间存储在 ranger 对象中的预测 可通过 model predictions 访问 与我在使用创建的模型的相同数据集 以下代码在 mtcars 数据集上重
  • 如何切换到旧版本的 ruby​​/rails 环境?

    我正在尝试与 Tekpub 在 Rails 上构建您自己的博客截屏视频保持一致 我仍然是一个 ruby 新手 问题是我安装了 Rails 3 而 Rob 使用旧版本 我的脑海中 版本 2 3 2 我知道如何获得该版本的 Railsgem i
  • 使用 PHP 格式化 JSON 数据

    我有以下代码
  • iPhone X 中的背景图像拉伸

    目前我们使用 1x 2x 和 3x 的图像资源 它将支持所有设备 但是 当我们在 iPhone X 上使用相同的图像资源时 3x 图像在 iPhone X 中看起来会被拉伸 因此 请让我知道如何支持具有相同图像资源的 iPhone X 设备
  • NSPredicate 用于过滤 NSString 类型的两个日期

    我有一些数据 如NSDictionary in an NSMutableArray 样本数据如下 将每一行视为NSDictionary整个表是一个NSMutableArray包含事件 我想在两个日期之间得出结果 所以我使用NSPredica
  • Firebase 分析事件没有显示价值

    我有一个游戏 我想在每次用户设置新的高分时发送事件 我检查当前分数是否 gt 之前的分数 如果是 我将新的高分发送到 firebase 代码 Bundle bundle new Bundle bundle putLong FirebaseA
  • 我使用 AntiXSS 但我仍然可以破解页面

    我不知道我这样做是否正确 我第一次构建一些东西来防止页面受到攻击 我将从最底层开始 我有财产 public string Description get set 用户可以通过tinyMCE设置其值 tinyMCE init mode tex
  • 从暂存器访问附加 SDK 模块

    我想使用暂存器测试我的附加代码的小片段 在这种情况下 我尝试像这样访问通知模块 const notify require sdk notifications notify My notification s options 正如预期的那样
  • NHibernate 与 IIS 7 的会话

    我有一个使用 NHibernate 的 ASP NET MVC 应用程序 并且该应用程序在通过 VS2008 虚拟 Web 服务器运行时运行良好 但是当我尝试通过本地 IIS 服务器运行该站点时 我不断收到此 NHibernate 错误 没
  • 提交 fetch() POST 请求后使用 fetch() GET 请求输出数据库数据,无需硬页面刷新

    我有一个使用 javascript 提交数据的表单fetch 使用 PHP 访问 MySQL 数据库的 API 在下面的代码中 当提交表单时 页面上会输出一条成功消息 并且由于fetch API 板模块本身最初是通过 添加到板 元素上的单击
  • 三角形不渲染[重复]

    这个问题在这里已经有答案了 我在渲染一个简单的三角形时遇到问题 下面的代码编译并运行 但没有任何三角形 只有黑色背景 GLuint VBO static void RenderSceneCB glClear sets the bitplan
  • Google Foobar:如何查找边缘情况并识别测试用例。蟒蛇[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Problem 完美燃油喷射 拉姆达指挥官请求你帮助改进自动系统 LAMBCHOP 末日号的量子反物质燃料喷射系统 设备 这是您近距离
  • “线程屏障”同步模式上的 C++ 正确原子内存排序

    我需要在预定义数量的工作线程 通过应用程序配置静态已知 和预定义数量的控制平面线程之间正确同步对某些共享资源的访问 控制平面线程接收来自外部的请求 并基于该请求可能修改共享资源 工作线程只是运行一个无限循环 其中共享资源是只读的 为了以线程
  • pytest-django 中的重置序列

    我已将我的问题发布到pytest django https github com pytest dev pytest django issues 但似乎至少有两周不活跃 我决定在这里问我的问题 在我的测试中我想使用重置序列 真 https
  • 是否有 Office 365 REST API 可以从组织中的所有邮箱获取邮件?

    我正在探索一个选项 看看是否可以使用 Office 365 Mail REST API 从组织中 即域内 的所有邮箱获取邮件 或者是否有任何其他方式可以轻松获取这些邮件 这些是我探索过的选项 1 将所有电子邮件密件抄送至特定帐户 然后从密件
  • For 循环的迭代次数比我在 Python 中预期的要少[重复]

    这个问题在这里已经有答案了 我希望下面的循环迭代六次 而不是使用 python3 迭代三次 我不明白这种行为 我知道当我删除元素时列表会发生变化 但我不知道这如何影响 for 循环条件 为什么循环迭代少于六次 a 1 2 3 4 5 6 f