循环list删除其元素,有坑!

看个例子:

a = [1,2,3,4,5,6]
for i  in a:a.remove(i)
print(a)
返回:[2, 4, 6]

循环a,想删除a的所有元素,但实际确有数据保留了下来,这是为什么呢,为什么呢!!!

因为在循环a,并删除a的元素时,列表的位置发生了移位,当删除“1”后,第二个元素“2”补位,这样“2”就躲过了被删除的命运,轮到“3”了,“3”被删除之后,“4”来补位,逃过一劫,以此类推!!

所以在循环list时,不能循环的同时删除自身元素

解决的办法:新建一个相同的临时列表,用for循环临时列表,删除原列表中的元素!

例子:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
b = [1,2,2,4,3,2,1,6,8]
c = b[:]
for i in c:if i%2 ==0:b.remove(i)
print(b)
返回
[1, 3, 1]

python_循环删除list中的元素,有坑啊!相关推荐

  1. Java 循环删除list中指定元素

    Java 循环删除list中指定元素 1.for循环遍历删除指定元素 2.增强for循环删除指定元素 3.iterator删除指定元素 1.for循环遍历删除指定元素 List<String&g ...

  2. Java中使用for循环删除数组中某个元素,并按原有顺序打印

    package com.ty.demo; //使用for循环删除数组中的某个元素,并按照原有顺序打印出来 public class Demo03 { public static void main(S ...

  3. 循环删除数组中的元素

    有一个场景,需要删除满足条件的数据 // 删除小于5的元素 let arr = [1,2,3,4,5,6,7] 代码实现 for (let i = 0, leng = arr.length; i &l ...

  4. JAVA中循环删除list中元素的方法总结

    原文:http://www.cnblogs.com/aspirant/p/7900854.html 印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天 ...

  5. java 删除list元素_JAVA中循环删除list中元素的方法总结

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...

  6. java list 范围删除_JAVA中循环删除list中元素(移除list两时间范围外的元素)

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...

  7. Java中循环删除list中元素的方法总结(总结)

    印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后在今天使用的时候发现报错了,然后去科普了一下,发现这是一个误区.下面我们来一起看一下. Java中循环遍 ...

  8. java删除javaee_JavaEE--集合--删除List中指定元素

    一.Java 循环删除list中指定元素 增强for循环删除指定元素 @Test public void test(){ String[] strs={"a", "b&q ...

  9. python for 循环中使用 remove 删除列表中的元素

    python for 循环中使用 remove 删除列表中的元素 错误的代码 # !/usr/bin/python # encoding: utf-8 # -*- coding: utf8 -*- o ...

最新文章

  1. JS实现动态生成表格并提交表格数据向后端 表格中数据转为json
  2. 慢慢聊Linux AIO
  3. java 中 的 字节流!
  4. 从送快递转好到软件测试,自学三个月后,我拿到了12k?
  5. 长沙试水数字人民币:线下支持数字人民币支付的商家已达3404个
  6. 迁移用友U8 ERP服务器
  7. 数据集(benchmark)、常用数据集的解析(cifar-10、)
  8. RecycleView的左滑实现
  9. linux C 总结篇(线程)下
  10. 学编程买什么电脑最好?
  11. 关于项目估算的微博讨论
  12. 【FineReport】常用快捷键
  13. CodeForces - 1313C2 Skyscrapers (hard version)(单调栈+dp)
  14. linux网络查看,Linux网络命令(网络环境查看和网络测试命令)
  15. Java的运算符-取整,取绝对值,取余数
  16. STM32关于“NVIC_InitStructure.NVIC_IRQChannel = TIM1_IRQn; error:useof undeclared identifi ‘T1M1_IRQN‘
  17. PII RTC TEST Steps
  18. SuperSet连接mysql设置
  19. 孤立词语音识别matlab,基于Matlab仿真的孤立词语音识别技术研究
  20. arcgis desktop和arcgis engin连接postgresql数据库连接需要的类库

热门文章

  1. iframe cross domain
  2. 虚拟社会建设需要“网络社工”助力
  3. 任意文件上传mysql_BigDump 跨站脚本、SQL注入、任意文件上传漏洞
  4. 自由自在休闲食品以创新助80后女孩成功创业
  5. 财务凭证过账增强 BAPI_ACC_DOCUMENT_POST
  6. 对于按成本组件结构(要素)还原
  7. 连接一切:自媒体的未来是什么??
  8. 针对当前项目SLED存在短缺XX天
  9. 客户合作伙伴关系问题
  10. 武汉众邦银行的数字化升级秘诀:让每个业务⼈员都能自助式分析查询