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 相关文章推荐
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
Apr 23 Python
Python爬取京东的商品分类与链接
Aug 26 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
Nov 24 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
May 30 Python
pandas 数据实现行间计算的方法
Jun 08 Python
Pycharm取消py脚本中SQL识别的方法
Nov 29 Python
Python数据类型之Dict字典实例详解
May 07 Python
用python给自己做一款小说阅读器过程详解
Jul 11 Python
wxPython窗体拆分布局基础组件
Nov 19 Python
django rest framework 过滤时间操作
Jul 12 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 Python
Python IO文件管理的具体使用
Mar 20 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
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
PHP 和 MySQL 基础教程(一)
2006/10/09 PHP
javascript 动态加载 css 方法总结
2009/07/11 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
提升Python程序性能的7个习惯
2019/04/14 Python
Anaconda的安装及其环境变量的配置详解
2020/04/22 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
幼儿园校车司机的岗位职责
2014/01/30 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
竞选学委演讲稿
2014/09/13 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python