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学习手册中的python多态示例代码
Jan 21 Python
python实现根据窗口标题调用窗口的方法
Mar 13 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
CentOS7安装Python3的教程详解
Apr 10 Python
python安装pil库方法及代码
Jun 25 Python
使用Python为中秋节绘制一块美味的月饼
Sep 11 Python
Python使用Matlab命令过程解析
Jun 04 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 Python
python操作redis数据库的三种方法
Sep 10 Python
基于python实现复制文件并重命名
Sep 16 Python
用Python监控你的朋友都在浏览哪些网站?
May 27 Python
分析Python感知线程状态的解决方案之Event与信号量
Jun 16 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
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
2014/03/05 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
2016/01/14 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
用Python实现一个简单的线程池
2015/04/07 Python
python在指定目录下查找gif文件的方法
2015/05/04 Python
Python测试人员需要掌握的知识
2018/02/08 Python
Python基础知识点 初识Python.md
2019/05/14 Python
python获取地震信息 微信实时推送
2019/06/18 Python
pyqt5中动画的使用详解
2020/04/01 Python
Python中实现输入一个整数的案例
2020/05/03 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
使用CSS3制作一个简单的Chrome模拟器
2015/07/15 HTML / CSS
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
公司任命书模板
2014/06/06 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
六查六看剖析材料
2014/10/06 职场文书
合同补充协议书
2016/03/24 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书