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 相关文章推荐
python 切片和range()用法说明
Mar 24 Python
详解Python编程中基本的数学计算使用
Feb 04 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
Python callable()函数用法实例分析
Mar 17 Python
Selenium(Python web测试工具)基本用法详解
Aug 10 Python
Python发展简史 Python来历
May 14 Python
tensor和numpy的互相转换的实现示例
Aug 02 Python
详解使用django-mama-cas快速搭建CAS服务的实现
Oct 30 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
python 实现 hive中类似 lateral view explode的功能示例
May 18 Python
python中字符串的编码与解码详析
Dec 03 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设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
浅谈php扩展imagick
2014/06/02 PHP
php使用session二维数组实例
2014/11/06 PHP
php的sso单点登录实现方法
2015/01/08 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
requireJS使用指南
2016/04/27 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
2016/09/08 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
Python文本统计功能之西游记用字统计操作示例
2018/05/07 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
Python如何访问字符串中的值
2020/02/09 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
员工年终演讲稿
2014/01/03 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
保证金退回承诺函格式
2015/01/21 职场文书
农村党员干部承诺书
2015/05/04 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
2016公务员年度考核评语
2015/12/01 职场文书