Python“for in”循环打印列表中的最后一项

2024-03-26

最近我了解了列表和for循环,以及命令.pop()指示并删除列表中的最后一项。

所以我尝试编写一段代码来一项一项地删除列表中的最后一项,直到只剩下一项。

代码是:

list_A = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

for i in list_A:
    print(list_A.pop())
    if 'c' not in list_A:
        break

print("job done.")

python 3.6 的输出给了我这个:

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
j
i
h
g
f
job done.

正如你所看到的,它确实有效,但是只有效了一半?

我期待着:

j
i
h
g
f
e
d
c
job done

我的意思是,如果它返回一些错误,我会更舒服,这意味着代码不正确。但为什么它有效,但没有完全通过呢?


您在迭代列表时会改变列表。

您可以使用while循环执行此操作:

list_A = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

while 'c' in list_A:
    print(list_A.pop())

print('job done')

Output:


j
i
h
g
f
e
d
c
job done

  

更有效的方法是确定哨兵字符的第一个实例的索引,然后删除它和列表的其余部分(尽管字符在删除时不会打印):

try:
    pos = list_A.index('c')
    list_A[:] = list_A[:pos]
    # del list_A[pos:]           # more efficient alternative suggested by @ShadowRanger
except ValueError as e:
    pass
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python“for in”循环打印列表中的最后一项 的相关文章

随机推荐

  • 围绕相机旋转后的 Libgdx 坐标

    相机旋转后 坐标让我感到困惑 我有一台相机 一个角色和一张地图 该玩家仅沿以下方向行走 北 90 南 270 东 0 西 180 从玩家 camera rotateAround 的位置旋转相机后 玩家由于旋转而开始向新方向移动 有没有办法在
  • RunClassConstructor 是否保证只运行类型的静态构造函数一次?

    我使用以下代码调用类的静态构造函数 Type type System Runtime CompilerServices RuntimeHelpers RunClassConstructor type TypeHandle 这会导致 ccto
  • java 数组列表上的易失性/同步

    我的程序如下所示 public class Main private static ArrayList
  • 多线程应用程序中的 SetCurrentDirectory

    我知道 SetCurrentDirectory 不应该在多线程应用程序中使用 因为当前目录在进程中的所有线程之间共享 考虑到这一点 设置目录的最佳方法是什么 通过在打开文件时包含完整路径名而不是首先使用 SetCurrentDirector
  • 如何在scala中将csv文件读入数组

    我正在尝试读取 csv 文件并将其作为双精度数组的数组返回 Array Array Double 如何逐行读入文件并立即打印出来非常清楚 但不知道如何将其存储在二维数组中 def readCSV Array Array Double val
  • 是否可以使用 call_user_func_array() 通过引用传递参数?

    使用时call user func array 我想通过引用传递参数 我该怎么做呢 例如 function toBeCalled parameter Do Something changingVar passThis parameters
  • Flutter:自定义 ExpansionTile

    是否可以更改颤振中的扩展图块 具体来说 我想删除它扩展时创建的分隔线 我还想调整它的填充 那可能吗 谢谢 从源头来说ExpansionTile https github com flutter flutter blob d927c93310
  • data.table::fread 读取Excel工作簿中的所有工作表

    我的 Excel 文档my xlsx有两张名为Sheet1 and Sheet2 我想使用以下命令读取 Excel 工作簿中的所有工作表fread函数来自data table R包裹 以下代码仅读取活动工作表 想知道如何在不知道工作表名称的
  • jshint - 创建自定义警告/规则

    是否可以创建自定义 jshint 规则 将其添加到现有的内置规则中 并在我们的项目中配置它 打开或关闭 jshint 是否可扩展 就像我们在 Grunt 中创建自己的自定义任务一样 有时我们需要在我们的环境中强制执行 JavaScript
  • 在seaborn热图中屏蔽注释

    我想制作一个仅在特定单元格中具有注释的热图 我认为 一种方法是在所有单元格中制作一个带有注释的热图 然后覆盖另一个没有注释但在我希望原始注释可见的区域中被屏蔽的热图 import numpy as np import seaborn as
  • 无法从模块接口构建模块;它可能已被损坏,或者可能在生成时触发了 Swift 编译器中的错误

    当创建这样的xcframework时 xcodebuild archive project endiosOne iOS xcodeproj scheme EOFoundation destination iOS archivePath tm
  • Jena 桌面 SPARQL 客户端 (TDB)?

    我正在开发一个使用 Jena 进行存储 带有 TDB 后端 的应用程序 我正在寻找类似 Squirrel 的东西 它可以让我看到正在存储的内容 运行查询等 这似乎是一个明显需要的东西 但我的 可能措辞不好 谷歌查询没有出现任何有希望的东西
  • 为什么Dictionary没有AddRange?

    标题已经足够基本了 为什么我不能 Dictionary
  • 如何根据当前平台跳过 xUnit 中的特定测试

    我有一个在 Windows 上构建的程序集 我想在 Linux 中的 mono 上运行 xUnit 测试 然而 我发现虽然其中 400 个测试可以 按顺序 运行 但某些测试要么挂起 xUnit 运行程序 要么完全崩溃 I don t car
  • 向 monaco 编辑器提供类型提示

    我正在尝试使用 Monaco 编辑器向 javascript 编辑器提供智能感知 代码补全 该代码必须是有效的 javascript 而不是 typescript 假设一些用户输入了这样的脚本 function onMyEvent even
  • PHP 中的安全用户图像上传功能

    我正在为我的网站实现一个基于用户的图像上传工具 系统应允许任何用户仅上传 JPEG 和 PNG 文件 当然 我担心安全性 所以我想知道许多比我聪明的人对以下允许上传的检查有何感受 1 首先将 PHP 中允许的文件扩展名列入白名单 仅允许 P
  • WCF 不序列化所有属性

    我正在使用已作为 VS2010 中的服务引用导入的 SOAP 服务 我使用服务提供的请求对象来调用其中一项服务 我遇到的问题是 并非对象的所有属性都被序列化 或者不是通过线路发送 请求对象如下所示 var serviceRequest ne
  • CountIf 与过滤后的数据

    我正在研究一种方法来计算数据列中零的数量 即使数据被过滤 我找到了以下解决方案 SUMPRODUCT SUBTOTAL 3 OFFSET B2 B18 ROW B2 B18 MIN ROW B2 B18 1 ISNUMBER SEARCH
  • 使用 PHP 获取目录的层次结构

    我正在尝试查找指定目录下的所有文件和文件夹 例如我有 home user stuff 我想回来 home user stuff folder1 image1 jpg home user stuff folder1 image2 jpg ho
  • Python“for in”循环打印列表中的最后一项

    最近我了解了列表和for循环 以及命令 pop 指示并删除列表中的最后一项 所以我尝试编写一段代码来一项一项地删除列表中的最后一项 直到只剩下一项 代码是 list A a b c d e f g h i j for i in list A