Python列表元素删除和remove()方法详解


Posted in Python onJanuary 04, 2021

删除列表中元素的方法有三种:

1. del命令

使用del命令能够删除列表中指定位置上的元素,也可以删除整个列表。

2. pop( )方法

使用列表的pop()方法能够删除并返回列表指定位置(默认为最后一个位置)的元素。

3. remove方法

使用列表的remove()方法能够删除列表中首次出现的指定元素,如果列表中不存在该元素则抛出异常。有的时候可能需要删除列表中某一大量重复的数据,我们很容易就会想到列表的remove()方法,例如:

x=[1,2,1,2,1,2,1,2]
y=[1,1,2,1,2,1,2,1,1,1,2]
for i in x:
 if i==1:
  x.remove(i)
print("List_1=",x)
for i in y:
 if i==1:
  y.remove(i)
print("List_2=",y)

结果:

List_1= [2, 2, 2, 2]
 
List_2= [2, 2, 2, 1, 1, 2]

但是当我们在具体实现时很可能会遇到意想不到的错误,代码有的时候能够达到预期的删除所有重复元素的效果,有的时候只能删除部分重复元素,如上例所示。比较两个列表,发现,列表x中所有的1都是不相邻的,列表y中有的1是相邻的。出现以上问题的原因在于,列表的内存自动管理功能,在删除列表中的元素时,python会自动对列表内存进行收缩,并移动列表中的元素以保证元素之间没有间隙,所以使用“循环+remove()方法”来删除列表中某一重复元素时,如果存在相邻的该元素,在删除前面一个元素后,后一个元素会被移动到刚被删除的这个元素的位置,这样这个元素就“躲过了删除”

Python列表元素删除和remove()方法详解

对于以上问题代码可以做如下修改:

x=[1,2,1,2,1,2,1,2]
y=[1,1,2,1,2,1,2,1,1,1,2]
for i in x:
 if i==1:
  x.remove(i)
print("List_1=",x)
while y.count(1)>0://或者while 1 in y:
 for i in y:
  if i==1:
   y.remove(i)
print("List_2=",y)

输出结果:

List_1= [2, 2, 2, 2]
 
List_2= [2, 2, 2, 2]

总结

到此这篇关于Python列表元素删除和remove()方法详解的文章就介绍到这了,更多相关Python列表元素删除和remove()方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
pycharm 使用心得(七)一些实用功能介绍
Jun 06 Python
Python实现发送email的几种常用方法
Aug 18 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
Python3如何解决字符编码问题详解
Apr 23 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
Pandas 同元素多列去重的实例
Jul 03 Python
Python实现语音识别和语音合成功能
Sep 20 Python
python读取ini配置的类封装代码实例
Jan 08 Python
pytorch 修改预训练model实例
Jan 18 Python
python中pyplot基础图标函数整理
Nov 10 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
Dec 07 Python
python之django路由和视图案例教程
Jul 26 Python
python3列表删除大量重复元素remove()方法的问题详解
Jan 04 #Python
关于python中remove的一些坑小结
Jan 04 #Python
python中remove函数的踩坑记录
Jan 04 #Python
python 日志模块logging的使用场景及示例
Jan 04 #Python
python 邮件检测工具mmpi的使用
Jan 04 #Python
Python3中的tuple函数知识点讲解
Jan 03 #Python
python中pivot()函数基础知识点
Jan 03 #Python
You might like
PHP 错误之引号中使用变量
2009/05/04 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
jqPlot Option配置对象详解
2009/07/25 Javascript
angularJS 入门基础
2015/02/09 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
Jquery中attr与prop的区别详解
2017/05/27 jQuery
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
Vue数据双向绑定原理实例解析
2020/05/15 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
python实用代码片段收集贴
2015/06/03 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
利用Python在一个文件的头部插入数据的实例
2018/05/02 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
python交换两个变量的值方法
2019/01/12 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
如何在python中实现线性回归
2020/08/10 Python
Python实现Appium端口检测与释放的实现
2020/12/31 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
端口镜像是怎么实现的
2014/03/25 面试题
网络教育毕业生自我鉴定
2013/10/10 职场文书
会计学应届毕业生推荐信
2013/11/04 职场文书
自我反省检讨书
2014/01/23 职场文书
高中生物教学反思
2014/02/05 职场文书
行政求职信
2014/07/04 职场文书
预备党员群众意见
2015/06/01 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript
关于MySQL中explain工具的使用
2023/05/08 MySQL