Python中的filter()函数的用法


Posted in Python onApril 27, 2015

Python内建的filter()函数用于过滤序列。

和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

例如,在一个list中,删掉偶数,只保留奇数,可以这么写:

def is_odd(n):
  return n % 2 == 1

filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])
# 结果: [1, 5, 9, 15]

把一个序列中的空字符串删掉,可以这么写:

def not_empty(s):
  return s and s.strip()

filter(not_empty, ['A', '', 'B', None, 'C', ' '])
# 结果: ['A', 'B', 'C']

可见用filter()这个高阶函数,关键在于正确实现一个“筛选”函数。
练习

请尝试用filter()删除1~100的素数。

Python 相关文章推荐
Python易忽视知识点小结
May 25 Python
简单介绍Python的Django框架加载模版的方式
Jul 20 Python
分析Python中设计模式之Decorator装饰器模式的要点
Mar 02 Python
Python基于Matplotlib库简单绘制折线图的方法示例
Aug 14 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
Django框架中序列化和反序列化的例子
Aug 06 Python
python中单下划线(_)和双下划线(__)的特殊用法
Aug 29 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
Sep 23 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
Oct 28 Python
Python利用全连接神经网络求解MNIST问题详解
Jan 14 Python
OpenCV中VideoCapture类的使用详解
Feb 14 Python
用python 绘制茎叶图和复合饼图
Feb 26 Python
Python中的map()函数和reduce()函数的用法
Apr 27 #Python
PyMongo安装使用笔记
Apr 27 #Python
Windows下PyMongo下载及安装教程
Apr 27 #Python
Python操作MongoDB数据库PyMongo库使用方法
Apr 27 #Python
Python的函数的一些高阶特性
Apr 27 #Python
Python简单进程锁代码实例
Apr 27 #Python
在Python中使用列表生成式的教程
Apr 27 #Python
You might like
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
window.name代替cookie的实现代码
2010/11/28 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
jQuery实现的向下图文信息滚动效果
2015/05/03 Javascript
js实现文字在按钮上滚动的方法
2015/08/20 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
Python装饰器的函数式编程详解
2015/02/27 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
利用python如何处理nc数据详解
2018/05/23 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
Python延时操作实现方法示例
2018/08/14 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
python推导式的使用方法实例
2021/02/28 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
火车的故事教学反思
2014/02/11 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
小学生成绩单评语
2014/12/31 职场文书
戒赌保证书
2015/05/11 职场文书