Python实现删除列表中满足一定条件的元素示例
作者:JoeBlackzqq 发布时间:2023-11-07 14:38:39
标签:Python,列表,元素
本文实例讲述了Python实现删除列表中满足一定条件的元素。分享给大家供大家参考,具体如下:
从列表中删除满足一定条件的元素。
如:删除一个列表中长度为0的元素,或者删除列表中同时是2和3的倍数的元素。
做过高级语言编程的人想当然的会认为“这很简单”,可以如下面的方式来实现:
for i in listObj:
if(...):
listObj.remove(i)
看下一个小例子和结果:
a = [1, 2, 3, 12, 12, 5, 6, 8, 9]
for i in a:
if i % 2 == 0 and i % 3 == 0:
a.remove(i)
print(a)
运行结果:
E:\Program\Python>d.py
[1, 2, 3, 12, 5, 8, 9]
看到了吗?12竟然没有被删除!!!(这是Python列表操作的一个非常容易出错的地方)
要实现预期的目标,其实还是有不少变通方法的,比如:
a = [1, 2, 3, 12, 12, 5, 6, 8, 9]
b = a[:]
for i in a:
if i % 2 == 0 and i % 3 == 0:
b.remove(i)
a = b
print(a)
运行结果:
E:\Program\Python>d.py
[1, 2, 3, 5, 8, 9]
看看,现在达到预期的目标了吧。从上面的代码不难发现,我们构建了列表b,复制了列表a中的所有元素,通过遍历a来删除b中的元素,最后把a指向b。
我还发现了另一种方法,自认为挺不错的——列表推导式
a = ['what', '', '', 'some', '', 'time']
a = [i for i in a if len(i) > 0]
print(a)
b = [1, 2, 3, 12, 12, 5, 6, 8, 9]
b = [i for i in b if not(i % 3 == 0 and i % 2 == 0)]
print(b)
运行结果:
E:\Program\Python>d.py
['what', 'some', 'time']
[1, 2, 3, 5, 8, 9]
相比较之下,您认为哪种写法更好呢??从性能上来看,可能效率都不是太好,但是从写法简洁上来看,我是更喜欢后者!
更多Python相关内容感兴趣的读者可查看本站专题:《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
0
投稿
猜你喜欢
- 前言题目如下:给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字
- W3C 发布 XPath 1.0 规范是在 1999 年,那时我还正在备战高考,不料十年后,我才开始学习XPath,落后的差距不是一般的大(
- python数据与matlab互通SciPy有时候需要利用python进行科学计算,但需要Matlab进行交互式画图,因此需要掌握pytho
- 在默认的情况下,MySQL搜索不区分大小写(但某些字符集始终区分大小写,如czech)。这意味着,如果你使用col_name LIKE
- 我想要的结果无非是去掉URL路径中的index.php首先是配置.htaccess<IfModule mod_rewrite.c>
- 引言我们日常开发中,如何保证接口数据的安全性呢?个人觉得,接口数据安全的保证过程,主要体现在这几个方面:一个就是数据传输过程中的安全,还有就
- 这篇文章主要介绍了python被修饰的函数消失问题解决(基于wraps函数),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- 代码如下:<% function GetBot() '查询蜘蛛 dim s_
- 1.如果每页都增加打印时间,又如何设置?打印时间的,你可以参考 for(var i=0;i<page.length;i++)
- 使用Python过程中,经常需要对文件和目录进行操作。所有file类/os/os.path/shutil模块时每个Python程序员必须学习
- 在go语言中,byte其实是uint8的别名,byte 和 uint8 之间可以直接进行互转。目前来只能将0~255范围的int转成byte
- jupyter notebook更换皮肤主题视频地址:https://www.bilibili.com/video/BV1Et4y1D7ru
- 流式布局流式布局,也叫做瀑布流布局,是网页中经常使用的一种页面布局方式,它的原理就是将高度固定,然后图片的宽度自适应,这样加载出来的图片看起
- 前段时间看了一期《最强大脑》,里面各种繁花曲线组合成了非常美丽的图形,一时心血来潮,想尝试自己用代码绘制繁花曲线,想怎么组合就怎么组合。真实
- 本文实例讲述了Python通过调用有道翻译api实现翻译功能。分享给大家供大家参考,具体如下:通过调用有道翻译的api,实现中译英、其他语言
- 在学习和使用各种数据库的过程中,我们常常会遇到聚族索引、非聚族索引、组合索引的概念,这些索引对我们使用数据库,特别是查询的速度的
- 监听服务的信号,实现平滑启动,linux信号说明package main import ("context""
- 在页面层次结构,数据较多的时候,用v-if或者v-show就会出现div闪现,或者部分闪烁的结果。可以在根元素添加v-cloak来解决,并且
- php实现上传图片保存到数据库的方法。分享给大家供大家参考。具体分析如下:php 上传图片,一般都使用move_uploaded_file方
- mysql数据库中的表数据量几千万后,查询速度会很慢,日常各种卡慢,严重影响使用体验。在考虑升级数据库或者换用大数据解决方案前,必须优化现有