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中list初始化方法示例
Sep 18 Python
pyenv命令管理多个Python版本
Mar 26 Python
利用python写个下载teahour音频的小脚本
May 08 Python
Python中eval带来的潜在风险代码分析
Dec 11 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
python爬虫正则表达式之处理换行符
Jun 08 Python
python 对dataframe下面的值进行大规模赋值方法
Jun 09 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
Pycharm新手教程(只需要看这篇就够了)
Jun 18 Python
bluepy 一款python封装的BLE利器简单介绍
Jun 25 Python
python3 selenium自动化 下拉框定位的例子
Aug 23 Python
PyQt5 QDockWidget控件应用详解
Aug 12 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
mysql 字段类型说明
2007/04/27 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
node.js操作mongodb学习小结
2015/04/25 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
Angular 4 指令快速入门教程
2017/06/07 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
在Django的视图中使用数据库查询的方法
2015/07/16 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
详解Python Opencv和PIL读取图像文件的差别
2019/12/27 Python
python对XML文件的操作实现代码
2020/03/27 Python
以下的初始化有什么区别
2013/12/16 面试题
南京软件公司的.net程序员笔试题
2014/08/31 面试题
计算机专业自我鉴定
2013/10/15 职场文书
医科大学生的自我评价
2013/12/04 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
好邻里事迹材料
2014/01/16 职场文书
家长会邀请书
2014/01/25 职场文书
公证委托书大全
2014/04/04 职场文书
高中校园广播稿
2014/10/21 职场文书
教师求职自荐信范文
2015/03/04 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
Django对接elasticsearch实现全文检索的示例代码
2021/08/02 Python
python实现双链表
2022/05/25 Python