python_循环删除list中的元素,有坑啊!
循环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中的元素,有坑啊!相关推荐
- Java 循环删除list中指定元素
Java 循环删除list中指定元素 1.for循环遍历删除指定元素 2.增强for循环删除指定元素 3.iterator删除指定元素 1.for循环遍历删除指定元素 List<String&g ...
- Java中使用for循环删除数组中某个元素,并按原有顺序打印
package com.ty.demo; //使用for循环删除数组中的某个元素,并按照原有顺序打印出来 public class Demo03 { public static void main(S ...
- 循环删除数组中的元素
有一个场景,需要删除满足条件的数据 // 删除小于5的元素 let arr = [1,2,3,4,5,6,7] 代码实现 for (let i = 0, leng = arr.length; i &l ...
- JAVA中循环删除list中元素的方法总结
原文:http://www.cnblogs.com/aspirant/p/7900854.html 印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天 ...
- java 删除list元素_JAVA中循环删除list中元素的方法总结
印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...
- java list 范围删除_JAVA中循环删除list中元素(移除list两时间范围外的元素)
印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末 ...
- Java中循环删除list中元素的方法总结(总结)
印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后在今天使用的时候发现报错了,然后去科普了一下,发现这是一个误区.下面我们来一起看一下. Java中循环遍 ...
- java删除javaee_JavaEE--集合--删除List中指定元素
一.Java 循环删除list中指定元素 增强for循环删除指定元素 @Test public void test(){ String[] strs={"a", "b&q ...
- python for 循环中使用 remove 删除列表中的元素
python for 循环中使用 remove 删除列表中的元素 错误的代码 # !/usr/bin/python # encoding: utf-8 # -*- coding: utf8 -*- o ...
最新文章
- JS实现动态生成表格并提交表格数据向后端 表格中数据转为json
- 慢慢聊Linux AIO
- java 中 的 字节流!
- 从送快递转好到软件测试,自学三个月后,我拿到了12k?
- 长沙试水数字人民币:线下支持数字人民币支付的商家已达3404个
- 迁移用友U8 ERP服务器
- 数据集(benchmark)、常用数据集的解析(cifar-10、)
- RecycleView的左滑实现
- linux C 总结篇(线程)下
- 学编程买什么电脑最好?
- 关于项目估算的微博讨论
- 【FineReport】常用快捷键
- CodeForces - 1313C2 Skyscrapers (hard version)(单调栈+dp)
- linux网络查看,Linux网络命令(网络环境查看和网络测试命令)
- Java的运算符-取整,取绝对值,取余数
- STM32关于“NVIC_InitStructure.NVIC_IRQChannel = TIM1_IRQn; error:useof undeclared identifi ‘T1M1_IRQN‘
- PII RTC TEST Steps
- SuperSet连接mysql设置
- 孤立词语音识别matlab,基于Matlab仿真的孤立词语音识别技术研究
- arcgis desktop和arcgis engin连接postgresql数据库连接需要的类库