python for循环遍历时,能动态删除元素吗?本文讲给你答案。

先来上个代码:

# -*- coding:utf-8 -*-
list = [1,2,3,4,5,6,7,8]# 使用for 删除某个元素
for i in list:if i == 3 or i == 4:list.remove(i)print(list)
  1. 分析:

当我们在for 循环里删除多个值的时候,发现只删除了第一个.后面的值没有删除成功. 分析过后发现 当for 循环到
if i == 33 or i == 44 当i 的值为33时满足条件,这时候就会去删除 list 列表里的33 , 删除过后后面的值就会把前面的空位填起来.这时候44key就发生了改变.44key位置就变成了33以前key的位置,这样44就会删除不到了.

删除3个值

# -*- coding:utf-8 -*-list = [1,2,3,4,5,6,7,8]# 使用for 删除某个元素for i in list:if i == 3 or i == 4 or i== 5:list.remove(i)print(list)

删除4个值

# -*- coding:utf-8 -*-list = [1,2,3,4,5,6,7,8]# 使用for 删除某个元素for i in list:if i == 3 or i == 4 or i== 5 or i == 6:list.remove(i)print(list)

解决方法:

先使用深拷贝获取一份列表的拷贝,然后遍历原来的列表。

1.顺序遍历删除:ok

list_demo = [1,2,3,4,5,6]for index, item in enumerate(list_demo[:]):list_demo.remove(item)print(list_demo)

2.倒叙遍历删除:ok

list_demo[::-1]
list_demo = [1,2,3,4,5,6]for index, item in enumerate(list_demo[::-1]):list_demo.remove(item)print(list_demo)

3.倒序遍历删除:

a = [0, 1, 2, 3, 4, 4, 4, 4, 4, 4]
for i in range(len(a)-1, -1, -1):if a[i] == 4:del a[i]

numpy数组可以一边遍历,一边删除吗?

答案是:不能直接操作

但是可以转成list列表,然后进行操作:

numpy数组还没找到一边遍历,一边删除元素的方法。

转list后,里面的数据全部转成list了。

n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for index, x in  enumerate(n[:]):if index==3:continuen.remove(x)
print(n)n = [np.array([1,2]),np.array([1,2]),np.array([1,2])]data=np.array(n)
n=data.tolist()
for index, x in enumerate(n[:]):if index < 1:continuen.remove(x)
print(n)

python for循环删除相关推荐

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

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

  2. python引入redis_redis 删除大key集合的方法

    redis大key,这里指的是大的集合数据类型,如(set/hash/list/sorted set),一个key包含很多元素.由于redis是单线程,在删除大key(千万级别的set集合)的时候,或 ...

  3. python具体应用过程_python公开课|Python for循环的具体应用就是python流程控制的核心,想学会就来看看...

    [摘要]在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注py ...

  4. python和循环语句_Python 小白零基础入门 -- 条件语句和循环语句

    Python 小白零基础入门 -- 条件语句和循环语句 点击上方 "Python 读数", 选择 "星标" 公众号 重磅干货, 第一时间送达 Python 零基 ...

  5. python 字典循环赋值,Python字典循环添加一键多值的用法实例

    循环写入字典key.value.删除指定的键值对: 原文本'jp_url.txt'每行元素以逗号分隔: host_key,product_id,product_name,cont_start,cont ...

  6. python遍历循环怎么理解_聊聊python中的循环遍历

    python之循环遍历 关于循环遍历大家都知道,不外乎for和while,今天我在这写点不一样的循环和遍历.在实践中有时会遇到删除列表中的元素,那么循环遍历列表删除指定元素该怎么做呢? 还是直接上代码 ...

  7. python list遍历删除,对python list 遍历删除的正确方法详解

    在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下: num_list = [1, 2, 3, 4, 5] print(num_list) for i in range(len(num ...

  8. python时间间隔循环_python循环间隔

    广告关闭 回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云+社区年度征文,各种定制好礼等你! 序言如图1.1中关于如何用python去计算两个时间(年月日)相隔多少天,简 ...

  9. python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

最新文章

  1. MySQL设值自动修改时间
  2. 计算机累加器有加法器功能吗,累加器-累加器ACC的作用
  3. linux下grub的修复
  4. 【深度学习】医学图像分割多标签损失函数和极坐标变换
  5. python流式下载处理_流式下载 - 对象存储 OSS - 阿里云
  6. 十分钟理解线性代数的本质_数学对于编程来说到底有多重要?来看看编程大佬眼里的线性代数!...
  7. 软件:推荐5款职场人必备的效率神器APP
  8. 01 离散时间信号的时域表示
  9. linux跳转乌班图服务器,Linux-Ubuntu环境安装Nginx和配置二级域名跳转
  10. android自定义view流程,Android 自定义View--从源码理解View的绘制流程
  11. 最新消息:更多的Windows Azure Marketplace Content 和Hands On Lab
  12. c语言标识符的规范,初识C语言-声明和使用变量、标识符的命名规范以及基本数据类型...
  13. 普通卷积、转置卷积、空洞卷积(dilated convolution、Atrous Convolution)
  14. JVM参数-X和-XX的区别
  15. 快速学会网页中鼠标经过图片放大效果
  16. odoo使用word中的MERGEFIELD合并域和python包mailmerge来生成word文档
  17. php guzzle 上传文件,Guzzle 使用文档
  18. 如何在Excel表中快速提取想要的数据
  19. SPI与IIC的异同
  20. 软通python机试_软通机试练习题

热门文章

  1. docker的常用命令汇总
  2. linux命令返回上一次所在的目录
  3. centos6.5下升级gnutls
  4. FSD HOOK与SSDT HOOK恢复简单思路
  5. C语言--测试电脑存储模式(大端存储OR小端存储)
  6. 编程之美2.17 数组循环移位
  7. Linux中printk()实例
  8. libvirt 启动 qemu 的过程
  9. 关于计算机专业学习的四点浅谈
  10. java迭代器在哪个包里面,java.util.LinkedList.listIterator()方法实例