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中的字典详细介绍
Sep 18 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
May 05 Python
Python中使用strip()方法删除字符串中空格的教程
May 20 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
Aug 01 Python
树莓派采用socket方式文件传输(python)
Jun 22 Python
vscode 配置 python3开发环境的方法
Sep 19 Python
如何通过Django使用本地css/js文件
Jan 20 Python
基于TensorFlow中自定义梯度的2种方式
Feb 04 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
Feb 06 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
Feb 11 Python
深入浅析Python 函数注解与匿名函数
Feb 24 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 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通过function_exists检测函数是否存在的方法
2015/03/18 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
分享别人写的一个小型js框架
2007/08/13 Javascript
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
2015/12/06 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
Javascrip实现文字跳动特效
2016/11/27 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
详解Python的三种可变参数
2019/05/08 Python
python安装scipy的步骤解析
2019/09/28 Python
python处理excel绘制雷达图
2019/10/18 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
python 实现有道翻译功能
2021/02/26 Python
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
办理居住证介绍信
2014/01/15 职场文书
致长跑运动员加油稿
2014/02/20 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏