iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 的列表遍历删除实现代码
  • 204
分享到

python 的列表遍历删除实现代码

遍历代码列表 2022-06-04 19:06:00 204人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如 l = [1,2,3,4] for i in l: if i != 4: l.remove

python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如


l = [1,2,3,4]
for i in l:
 if i != 4:
 l.remove(i)
print l

这几句话本来意图是想清空列表l,只留元素4,但是实际跑起来并不是那个结果。再看下面,利用index来遍历删除列表l


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

print l

这样没问题,可以遍历删除,但是列表l如果变为 l = [1,2,3,4,5]
如果还是按照上面的方法,设想一下,range开始的范围是0-4,中间遍历的时候删除了一个元素4,这个时候列表变成了= [1,2,3,5],这时候就会报错了,提示下标超出了数组的表示,原因就是上面说的遍历的时候删除了元素

所以Python的list在遍历的时候删除元素一定要小心

可以使用filter过滤返回新的list


l = [1,2,3,4]
l = filter(lambda x:x !=4,l)
print l

这样可以安全删除l中值为4的元素了,filter要求两个参数,第一个是规则函数,第二个参数要求输入序列,而lambda这个函数的作用就是产生一个函数,是一种紧凑小函数的写法,一般简单的函数可以这么些

或者可以这样


l = [1,2,3,4]
l = [ i for i in l if i !=4]//同样产生一个新序列,复值给l
print l

或者干脆建立新的list存放要删除的元素


l = [1,2,3,4]
dellist = []
for i in l:
 if i == 4:
  dellist.append(i)
for i in dellist:
 l.remove(i)

这样也能安全删除元素
所以要遍历的时候删除元素一定要小心,特别是有些操作并不报错,但却没有达到预期的效果

上面说到产生新序列,赋值等等,用python的id()这个内置函数来看对象的id,可以理解为内存中的地址,所以有个简要说明
如果


l = [1,2,3,4]
ll = l
l.remove(1)
print l//肯定是[2,3,4]
print ll//这里会是什么?

如果用id函数查看的话就发现
print id(l),id(ll)
打印出相同的号码,说明他们其实是一个值,也就是说上面的print ll将和l打印的一样,所以python有这种性质,用的时候注意一下就行了

一般python书中会讲到这个问题
遍历的时候如果想更新列表本身
推荐的做法是使用切片
l = [1, 2, 3, 4]
for i in l[:]
some code

--结束END--

本文标题: python 的列表遍历删除实现代码

本文链接: https://www.lsjlt.com/news/15713.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 的列表遍历删除
    python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如l = [1,2,3,4]for i in l:    if i != 4:     l.remove(i)print l这几句话本来...
    99+
    2023-01-31
    遍历 列表 python
  • Python中怎么实现列表边遍历边删除
    今天就跟大家聊聊有关Python中怎么实现列表边遍历边删除,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python 中查看某个模块的用法Python 命令行输入后,可以使用 hel...
    99+
    2023-06-15
  • Python遍历列表时删除元素案例
    tk在科学养猪群里问bluerust、scz是否碰上过这个Python坑, 示例1: bas = [ 'ba1', 'ba2', 'ba3', 'ba4', 'ba5' ] for ...
    99+
    2024-04-02
  • Python中列表的逆序遍历怎么实现
    在Python中,可以使用reversed()函数来对列表进行逆序遍历。这个函数会返回一个迭代器,可以使用for循环来遍历这个迭代器...
    99+
    2024-03-06
    Python
  • python列表遍历的方式
    本篇内容主要讲解“python列表遍历的方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python列表遍历的方式”吧!1、直接遍历,但这种遍历方式比较局限,只能读取,不能修改元素的值。lis...
    99+
    2023-06-20
  • Python实现for循环倒序遍历列表
    目录for倒序遍历列表for循环(正序/倒序)1.正序2.倒序for倒序遍历列表 数字列表,range方法构建列表: for value in range(5, -1, -1):  ...
    99+
    2024-04-02
  • python的序列遍历和字典遍历的实现方法
    这篇文章主要介绍“python的序列遍历和字典遍历的实现方法”,在日常操作中,相信很多人在python的序列遍历和字典遍历的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • Python列表中多元素删除(移除)的实现
    目录问题背景实现方法1. 使用枚举法2. python中List的内置方法结论问题背景 a=[1,4,2,1,5,6,9,0] #删除列表中的元素,其所在的位置为[1,3,7] de...
    99+
    2023-03-10
    Python列表多元素删除 Python 多元素删除
  • Python之列表的删除
    ''' 数据结构之线性结构之列表 : 这里的列表是一种数据存储结构,也即将一块连续的存储空间分配给该变量存储数据.优点在于:查询效率极高,但缺点在于,为保证数据存储的连续性                            每当删除中间...
    99+
    2023-01-31
    列表 Python
  • python列表和字符串的逆序遍历
    今天就跟大家聊聊有关python列表和字符串的逆序遍历,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。列表的逆序遍历a = [1,3,6,8,9]print(&qu...
    99+
    2023-06-15
  • python中遍历列表的方法是什么
    Python 中遍历列表的方法有以下几种:1. for 循环:使用 for 循环可以遍历列表中的每个元素。示例代码如下:```my_...
    99+
    2023-05-13
    python中遍历列表 python
  • Python列表删除重复元素与图像相似度判断及删除实例代码
    发现问题 项目需要,需要删除文件夹中的冗余图片。涉及图像文件名的操作,图像文件名存储在list中 python list删除元素有remove()和pop(),remove()对元素...
    99+
    2024-04-02
  • php有序列表或数组中删除指定的值的实现代码
    实现:删除给定的值之后,得到一个新的有序列表,长度-1 代码: <?php namespace php; class ListArray { // 从...
    99+
    2024-04-02
  • python遍历可迭代对象的实现方法
    目录可迭代(iterable)迭代器(iterator)方法1:使用for循环简单结构遍历方法2:借用 range() 和 len() 函数遍历方法3:借用 iter() 函数遍历方...
    99+
    2023-02-28
    python 遍历可迭代对象 python 可迭代对象
  • java集合遍历删除指定元素怎么实现
    在Java集合中遍历并删除指定的元素,可以使用迭代器来实现。以下是具体的步骤:1. 创建一个迭代器对象,使用集合的`iterator...
    99+
    2023-10-10
    java
  • Python列表中多元素删除如何实现
    本篇内容介绍了“Python列表中多元素删除如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题背景a=[1,4,2,1,5,6,9,...
    99+
    2023-07-05
  • python倒序遍历列表的方法是什么
    在Python中,可以使用[::-1]来倒序遍历一个列表。下面是一个示例:```pythonmy_list = [1, 2, 3, ...
    99+
    2023-08-11
    python
  • Python列表遍历输出的方法有哪些
    Python列表遍历输出的方法有以下几种:1. 使用for循环遍历列表元素:pythonmy_list = [1, 2, 3, 4,...
    99+
    2023-10-20
    Python
  • python循环删除列表中元素怎么实现
    可以使用for循环结合remove()方法来删除列表中的元素。具体实现如下: # 定义列表 lst = [1, 2, 3, 4, 5...
    99+
    2023-10-24
    python
  • 如何在PHP中遍历数组并实现元素删除
    PHP中的数组是一种极为常用的数据类型,它使用键值对存储数据,可以存储任意类型的值,包括数字、字符串、对象等。在实际开发中,我们经常需要对数组进行遍历和操作,其中删除数组元素是比较常见的操作之一。本文将介绍如何在PHP中遍历数组并实现元素删...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作