python list删除元素时要注意的坑点分享

作者:栖息暮雨 时间:2021-07-15 16:02:22 

我们直接先给出输出与预期不同的代码


In[28]: a = [1,2,3,4,5,6]
In[29]: for i in a:
...:  a.remove(i)
...:  
In[30]: a
Out[30]: [2, 4, 6]

在上述for循环中,假设我们删除了index=2的值,原本index=3及之后的值会向前补位,所以在循环中就跳过了原index=3的变量

同理,使用list.pop()函数删除指定元素的时候,也会出现上述情况,如:


In[33]: a = [1,2,3,4,5,6]
In[34]: for index, value in enumerate(a):
...:  a.pop(index)
...:  
In[35]: a
Out[35]: [2, 4, 6]

如果我们想循环删除列表中的元素,较简单的可用方法有:用一个临时列表保存待删除的元素,在for循环临时列表来删除老列表中的元素;或者直接用剩余元素列表覆盖原列表

来源:https://blog.csdn.net/qq_33512078/article/details/79077286

标签:python,list,删除,元素
0
投稿

猜你喜欢

  • Python实现读取字符串按列分配后按行输出示例

    2023-08-07 19:39:14
  • 如何编写python的daemon程序

    2023-07-27 05:13:28
  • Go语言框架快速集成限流中间件详解

    2023-08-26 11:44:39
  • 使用Python批量修改文件名的代码实例

    2022-03-21 04:02:53
  • 分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功

    2023-10-07 19:07:43
  • 停止事件冒泡和阻止浏览器默认行为的脚本

    2008-09-09 22:09:00
  • python清除字符串里非字母字符的方法

    2022-08-27 16:04:02
  • php usort 使用用户自定义的比较函数对二维数组中的值进行排序

    2023-11-21 23:08:28
  • 使用python os模块复制文件到指定文件夹的方法

    2022-01-06 13:23:01
  • 基于Python的Houdini插件开发过程详情

    2023-11-28 17:28:02
  • Python保存数据至MySQL时中文问题

    2011-02-23 12:06:00
  • 12个Pandas/NumPy中的加速函数使用总结

    2022-10-27 13:52:25
  • Python数据正态性检验实现过程

    2022-07-10 15:46:14
  • 详解css定位与定位应用

    2007-05-11 16:52:00
  • 理解绝对定位和相对定位布局

    2009-03-19 13:53:00
  • 程序员的七种武器

    2008-11-01 17:13:00
  • 网页设计之关于素材和言志

    2008-03-23 13:46:00
  • Python3爬取英雄联盟英雄皮肤大图实例代码

    2022-05-20 23:40:55
  • 百度首席设计师 用户体验部总监郭宇演讲

    2008-09-03 12:41:00
  • 异步完成后新开窗口

    2010-04-06 12:37:00
  • asp之家 网络编程 m.aspxhome.com