python之循环(增删)内使用list.remove()
dat=['1', '2', '3', '0', '0', '0']for item in dat:if item == '0':dat.remove(item)print(dat) #按要求是把'0'都删掉的,输出结果是['1', '2', '3', '0'] ??
首先,remove(x) 移除的是序列首次碰到的元素x
理解:
遍历列表,item每一次都会变化,可以想象有一个指针指向后一个元素,指针是递增的,从头元素到尾元素直至遍历完。
容易想到指针 0 --> 1 --> 2 --> 3
到第四个元素(dat[3]), dat[3]=='0',dat.remove(item), dat=['1','2','3','0','0'] #列表现在有五个元素
继续:
指针指向第五个元素(dat[4]),dat[4]=='0',dat.remove(item), dat=['1','2','3','0'] #列表现在有四个元素
继续:
指针指向(查找)下一个元素(第六个),哎? 此时dat列表只剩下四个元素,找不到第六个,自然就结束循环了!
得出:
列表的增删操作最好不要在for循环里做,迭代内容随着循环而改变了,这样既不安全也没必要,
换句话说,就是在循环的时候,不要让循环体的(指针/索引)啥的发生变化。
解决:
可以通过复制一个新的表来做删除操作
dat=['1', '2', '3', '0', '0', '0'] d = dat.copy() for item in dat:if item == '0':d.remove(item) print(d)
转载于:https://www.cnblogs.com/jinfengJeff/p/10632815.html
python之循环(增删)内使用list.remove()相关推荐
- python for 循环中使用 remove 删除列表中的元素
python for 循环中使用 remove 删除列表中的元素 错误的代码 # !/usr/bin/python # encoding: utf-8 # -*- coding: utf8 -*- o ...
- chatgpt赋能python:Python中如何实现内循环到外循环
Python中如何实现内循环到外循环 Python是一种广泛使用的编程语言,其文本解析和数据结构操作灵活,让Python编程变得非常简单.在Python编程中,内循环到外循环是常见的问题,因此本文将着 ...
- 【Python】第二章 内置数据类型
该文章内容整理自<Python编程:从入门到实践>.<流畅的Python>.以及网上各大博客 文章目录 内置数据类型 变量 基本运算 特殊值 布尔值 数字类型 序列 字符串 转 ...
- Python学习笔记:常用内建模块2:collections
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- python遍历循环怎么理解_聊聊python中的循环遍历
python之循环遍历 关于循环遍历大家都知道,不外乎for和while,今天我在这写点不一样的循环和遍历.在实践中有时会遇到删除列表中的元素,那么循环遍历列表删除指定元素该怎么做呢? 还是直接上代码 ...
- python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天
Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...
- Python编写循环的两个建议 | 鹅厂实战
作者 | piglei(腾讯高级工程师) 转载自腾讯技术工程知乎专栏 循环是一种常用的程序控制结构.我们常说,机器相比人类的最大优点之一,就是机器可以不眠不休的重复做某件事情,但人却不行.而" ...
- 独家 | 数据科学家的必备读物:从零开始用 Python 构建循环神经网络(附代码)...
作者:Faizan Shaikh 翻译:李文婧 校对:张一豪 本文约4300字,建议阅读10+分钟. 本文带你快速浏览典型NN模型核心部分,并教你构建RNN解决相关问题. 引言 人类不会每听到一个句子 ...
- python for循环删除
python for循环遍历时,能动态删除元素吗?本文讲给你答案. 先来上个代码: # -*- coding:utf-8 -*- list = [1,2,3,4,5,6,7,8]# 使用for 删除某 ...
- python循环语句-Python for循环控制语句一般格式及方法
for循环语句是python中的一个循环控制语句,任何有序的序列对象内的元素都可以遍历,比如字符串.列表List.元组等可迭代对像.之前讲过的if语句虽然和for语句用法不同,但可以用在for语句下做 ...
最新文章
- python tkinter 滚动条_如何在tkinter窗口中添加滚动条?
- 使用Fedora之VMware 虚拟机安装Fedora
- Bootstrap组件_警告框
- TokenInsight:反映区块链行业整体表现的 TI 指数较昨日同期上涨9.79%
- 56. SAMBA 服务器
- 「本地搭建」worpress博客系统
- windows 10 Office 2016 安装
- FTP测试手机软件画画教程图片,「推荐」手机、平板绘画党福利!10个非常好用的绘画App赶紧试试...
- RINEX 3.02版本文件格式介绍
- 阿丹学理财之资产配置
- HCIE学习笔记(2)之ISIS Overload
- labwindows制作特殊图形面板
- 健身菜鸟需要掌握哪些基本的健身常识
- 算法竞赛命题指南(命题流程、Polygon的使用等)
- 洛谷 P1538 迎春舞会之数字舞蹈
- Spring Boot默认异常处理BasicErrorController源码解读
- 戴尔微型计算机3048,戴尔5460一体机拆解,戴尔3048一体机
- 学校校车运营各项安全管理制度_学校校车安全管理制度.doc
- win7搜索文件 服务器,win7系统搜索不到文件的解决方法
- 软件设计师中级复习小总结
热门文章
- 剑指offer (05):替换字符串中空格 (C++ Python 实现)
- Python中np.sum()对axis的个人理解,超详细
- Python爬虫实战02:分析Ajax请求并抓取今日头条街拍
- webpack 4.0 中 clean-webpack-plugin 的使用
- 怎样制作网吧服务器,网吧游戏服务器制作的过程是怎样的
- 设置log缓存_全局变量、事件绑定、缓存爆炸?Node.js内存泄漏问题分析
- 扩展欧几里得算法(双六游戏)
- Spring Cloud Stream与RabbitMQ 消费者 消息分组
- linux原子方式,linux – 以原子方式移动目录
- tftp 查看服务器文件,如何从命令提示符列出Windows tftp服务器目录和文件?