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 相关文章推荐
详解JavaScript编程中的window与window.screen对象
Oct 26 Python
Python程序退出方式小结
Dec 09 Python
python基础教程项目三之万能的XML
Apr 02 Python
Python读取视频的两种方法(imageio和cv2)
Apr 15 Python
如何使用python操作vmware
Jul 27 Python
django 使用 PIL 压缩图片的例子
Aug 16 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
Pyorch之numpy与torch之间相互转换方式
Dec 31 Python
python通过移动端访问查看电脑界面
Jan 06 Python
服务器端jupyter notebook映射到本地浏览器的操作
Apr 14 Python
如何在vscode中安装python库的方法步骤
Jan 06 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
php学习 字符串课件
2008/06/15 PHP
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
比较时间段一与时间段二是否有交集的php函数
2011/05/31 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
2017/02/28 Javascript
JS实现图片预加载之无序预加载功能代码
2017/05/12 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
详解JS函数stack size计算方法
2018/06/18 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
python 对象和json互相转换方法
2018/03/22 Python
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
CSS3实现缺角矩形,折角矩形以及缺角边框
2019/12/20 HTML / CSS
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
新电JAVA笔试题目
2014/08/31 面试题
司仪主持词两篇
2014/03/22 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书