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使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
Python ldap实现登录实例代码
Sep 30 Python
Python实现一个Git日志统计分析的小工具
Dec 14 Python
15行Python代码带你轻松理解令牌桶算法
Mar 21 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 Python
在脚本中单独使用django的ORM模型详解
Apr 01 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
python 如何区分return和yield
Sep 22 Python
python对输出的奇数偶数排序实例代码
Dec 04 Python
用Python提取PDF表格的方法
Apr 11 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 Python
python的列表生成式,生成器和generator对象你了解吗
Mar 16 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
我常用的几个类
2006/10/09 PHP
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
thinkphp备份数据库的方法分享
2015/01/04 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
js树形控件脚本代码
2008/07/24 Javascript
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
2016/05/25 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
Python3单行定义多个变量或赋值方法
2018/07/12 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
国际商务英语专业求职信
2014/07/08 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
公司放假通知范文
2015/04/14 职场文书
大国崛起观后感
2015/06/02 职场文书
钱学森观后感
2015/06/04 职场文书
对公司的意见和建议
2015/06/04 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书