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 相关文章推荐
本地文件上传到七牛云服务器示例(七牛云存储)
Jan 11 Python
Python编程语言的35个与众不同之处(语言特征和使用技巧)
Jul 07 Python
Python中关键字is与==的区别简述
Jul 31 Python
横向对比分析Python解析XML的四种方式
Mar 30 Python
python中nan与inf转为特定数字方法示例
May 11 Python
python中ASCII码和字符的转换方法
Jul 09 Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 Python
Python with用法:自动关闭文件进程
Jul 10 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
python实现拼图小游戏
Feb 22 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
在Keras中利用np.random.shuffle()打乱数据集实例
Jun 15 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
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
Jquery 切换不同图片示例代码
2013/12/05 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
js for终止循环 跳出多层循环
2018/10/04 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
微信小程序吸底区域适配iPhoneX的实现
2020/04/09 Javascript
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
python中将一个全部为int的list 转化为str的list方法
2018/04/09 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
python实现雪花飘落效果实例讲解
2019/06/18 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
网络维护管理员的自我评价分享
2013/11/11 职场文书
大学生旷课检讨书
2014/01/22 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
个人年终总结结尾
2015/03/06 职场文书
2015年敬老院工作总结
2015/05/18 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL