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连接数据库学习之DB-API详解
Feb 07 Python
Python如何实现MySQL实例初始化详解
Nov 06 Python
Python实现的计算马氏距离算法示例
Apr 03 Python
详解python3中tkinter知识点
Jun 21 Python
解决pycharm安装后代码区不能编辑的问题
Oct 28 Python
pymongo中group by的操作方法教程
Mar 22 Python
python3 mmh3安装及使用方法
Oct 09 Python
Python文本处理简单易懂方法解析
Dec 19 Python
Python变量格式化输出实现原理解析
Aug 06 Python
pycharm 实现复制一行的快捷键
Jan 15 Python
python基于tkinter制作m3u8视频下载工具
Apr 24 Python
Python图像处理之图像拼接
Apr 28 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中批量替换文件名的实现代码
2011/07/20 PHP
Javascript调用XML制作连动下拉列表框
2006/06/25 Javascript
javascript之ESC(第二类混淆)
2007/05/06 Javascript
分享别人写的一个小型js框架
2007/08/13 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
2014/10/30 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
JS查找字符串中出现最多的字符及个数统计
2017/02/04 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
Vue中的scoped实现原理及穿透方法
2018/05/15 Javascript
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
JavaScript switch语句使用方法简介
2019/12/30 Javascript
Node.js web 应用如何封装到Docker容器中
2020/09/01 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
快速入手Python字符编码
2016/08/03 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
Django 前后台的数据传递的方法
2017/08/08 Python
Python有序字典简单实现方法示例
2017/09/28 Python
Python lambda函数基本用法实例分析
2018/03/16 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
关于Python核心框架tornado的异步协程的2种方法详解
2019/08/28 Python
Python hashlib模块实例使用详解
2019/12/24 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
护理专业大学生自我推荐信
2014/01/25 职场文书
节约用水标语
2014/06/11 职场文书
房屋出租协议书范本(标准版)
2014/09/24 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
小学一年级语文教学反思
2016/03/03 职场文书