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中find()方法的使用
May 18 Python
python提取具有某种特定字符串的行数据方法
Dec 11 Python
Python实现的微信支付方式总结【三种方式】
Apr 13 Python
elasticsearch python 查询的两种方法
Aug 04 Python
Python使用itchat 功能分析微信好友性别和位置
Aug 05 Python
Python简易版图书管理系统
Aug 12 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
Python图片处理模块PIL操作方法(pillow)
Apr 07 Python
python tqdm实现进度条的示例代码
Nov 10 Python
python制作抽奖程序代码详解
Jan 15 Python
浅析Python中的套接字编程
Jun 22 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
php 无法载入mysql扩展
2010/03/12 PHP
微信公众平台消息接口校验与消息接口响应实例
2014/12/23 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
2017/06/11 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
javascript String 对象
2008/04/25 Javascript
javascript 简练的几个函数
2009/08/29 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
jquery选择器使用详解
2014/04/08 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
JavaScript多线程详解
2015/08/12 Javascript
详解Angularjs中的依赖注入
2016/03/11 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
pyv8学习python和javascript变量进行交互
2013/12/04 Python
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
Python中实现switch功能实例解析
2018/01/11 Python
Python发展简史 Python来历
2019/05/14 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
Python坐标线性插值应用实现
2019/11/13 Python
浅谈对pytroch中torch.autograd.backward的思考
2019/12/27 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
考核评语大全
2014/04/29 职场文书
工地材料员岗位职责
2015/04/11 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
Mysql数据库group by原理详解
2022/07/07 MySQL