Python学习小技巧之列表项的推导式与过滤操作


Posted in Python onMay 20, 2017

本文介绍的是关于Python中列表项的推导式与过滤操作的相关内容,分享出来供大家参考学习,下面来一起看看吧:

典型代码1:

data_list = [1, 2, 3, 4, 0, -1, -2, 6, 8, -9] 
data_list_copy = [item for item in data_list] 
 
print(data_list) 
print(data_list_copy)

输出1:

[1, 2, 3, 4, 0, -1, -2, 6, 8, -9] 
[1, 2, 3, 4, 0, -1, -2, 6, 8, -9]

典型代码2:

data_list = [1, 2, 3, 4, 0, -1, -2, 6, 8, -9] 
data_list_copy = [item for item in data_list if item > 0] 
 
print(data_list) 
print(data_list_copy)

输出2:

[1, 2, 3, 4, 0, -1, -2, 6, 8, -9] 
[1, 2, 3, 4, 6, 8]

应用场景

需要保持原列表不被改动,需要拷贝一份新的列表数据;只拷贝原列表中复合条件的数据项。

带来的好处

拷贝和过滤操作集中到了一行中,减少了代码的缩进级别,使代码更加紧凑,更易读

其它说明

1. 原始的数据源可以不是列表类型,也可以是元组、生成器等任何可迭代类型

2. 内置的filter函数也可以达到类似的效果

3. itertools模块中的ifilter和ifilterfalse的方法也可以达到类似的效果

4. 如果列表数据量巨大,需要慎重使用,注意内存消耗

总结

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python set集合类型操作总结
Nov 07 Python
python爬虫之xpath的基本使用详解
Apr 18 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 Python
python读取xlsx的方法
Dec 25 Python
python3转换code128条形码的方法
Apr 17 Python
Django处理多用户类型的方法介绍
May 18 Python
利用python Selenium实现自动登陆京东签到领金币功能
Oct 31 Python
如何基于python生成list的所有的子集
Nov 11 Python
python基于property()函数定义属性
Jan 22 Python
Python+appium框架原生代码实现App自动化测试详解
Mar 06 Python
Pytorch实现将模型的所有参数的梯度清0
Jun 24 Python
Python yield 使用方法浅析
May 20 #Python
Python学习小技巧之列表项的拼接
May 20 #Python
Django验证码的生成与使用示例
May 20 #Python
Linux RedHat下安装Python2.7开发环境
May 20 #Python
深入理解Python中的内置常量
May 20 #Python
python万年历实现代码 含运行结果
May 20 #Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
May 19 #Python
You might like
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
php 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
php限制ip地址范围的方法
2015/03/31 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
js word表格动态添加代码
2010/06/07 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
wxPython事件驱动实例详解
2014/09/28 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
python实现二维插值的三维显示
2018/12/17 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
我们是伦敦女孩:WalG
2018/01/08 全球购物
速比涛英国官网:Speedo英国
2019/07/15 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
Python的两道面试题
2013/06/29 面试题
给学校的建议书
2014/03/12 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android
vue3.0 数字翻牌组件的使用方法详解
2022/04/20 Vue.js