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基于smtplib实现异步发送邮件服务
May 28 Python
合并百度影音的离线数据( with python 2.3)
Aug 04 Python
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
python目录与文件名操作例子
Aug 28 Python
用python找出那些被“标记”的照片
Apr 20 Python
[原创]使用豆瓣提供的国内pypi源
Jul 02 Python
python实现随机梯度下降(SGD)
Mar 24 Python
TensorFlow实现RNN循环神经网络
Feb 28 Python
用pandas按列合并两个文件的实例
Apr 12 Python
使用Python FastAPI构建Web服务的实现
Jun 08 Python
keras 获取某层的输入/输出 tensor 尺寸操作
Jun 10 Python
详解python的内存分配机制
May 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的命令行命令使用指南
2015/08/18 PHP
PHP自定义错误用法示例
2016/09/28 PHP
PHP7 其他修改
2021/03/09 PHP
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
javascript针对不确定函数的执行方法
2015/12/16 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
Vue.js watch监视属性知识点总结
2019/11/11 Javascript
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
浅谈Python中函数的参数传递
2016/06/21 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
python实现名片管理系统
2018/11/29 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
NET程序员上机面试题
2015/05/23 面试题
班组长岗位职责范本
2014/01/05 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
2014年市场部工作总结
2014/11/25 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server