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使用装饰器和线程限制函数执行时间的方法
Apr 18 Python
Python访问纯真IP数据库脚本分享
Jun 29 Python
使用python 3实现发送邮件功能
Jun 15 Python
pycharm 在windows上编辑代码用linux执行配置的方法
Oct 27 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
Sep 25 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
Nov 04 Python
Python 私有化操作实例分析
Nov 21 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
Dec 04 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 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文本数据库的搜索方法
2006/10/09 PHP
apache+php+mysql安装配置方法小结
2010/08/01 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
zf框架的Filter过滤器使用示例
2014/03/13 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
document.all与WEB标准
2020/05/13 Javascript
JS处理VBArray的函数使用说明
2008/05/11 Javascript
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
仿微博字符限制效果实现代码
2012/04/20 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
python关键字and和or用法实例
2015/05/28 Python
python实现线程池的方法
2015/06/30 Python
使用python3构建文件传输的方法
2019/02/13 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
2020/03/03 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
直接有效的自我评价
2014/01/11 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
二审代理词范文
2015/05/25 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
小学体育课教学反思
2016/02/16 职场文书