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单例模式实例分析
Apr 08 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
Python中一般处理中文的几种方法
Mar 06 Python
python中import与from方法总结(推荐)
Mar 21 Python
python3.x实现base64加密和解密
Mar 28 Python
使用coverage统计python web项目代码覆盖率的方法详解
Aug 05 Python
Python 项目转化为so文件实例
Dec 23 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 Python
Python绘制动态水球图过程详解
Jun 03 Python
Python应用实现双指数函数及拟合代码实例
Jun 19 Python
python实现移动木板小游戏
Oct 09 Python
Pycharm 解决自动格式化冲突的设置操作
Jan 15 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 和 COM
2006/10/09 PHP
在PHP中使用XML
2006/10/09 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
Yii Framework框架使用PHPExcel组件的方法示例
2019/07/24 PHP
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
node前端开发模板引擎Jade的入门
2018/05/11 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
Python描述器descriptor详解
2015/02/03 Python
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Python实现获取命令行输出结果的方法
2017/06/10 Python
机器学习python实战之手写数字识别
2017/11/01 Python
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
红色故事演讲稿
2014/05/22 职场文书
三年级学生评语大全
2014/12/26 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL