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 相关文章推荐
wxPython中listbox用法实例详解
Jun 01 Python
Python实现SMTP发送邮件详细教程
Mar 02 Python
Python reduce()函数的用法小结
Nov 15 Python
python实现随机梯度下降(SGD)
Mar 24 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
Python实现确认字符串是否包含指定字符串的实例
May 02 Python
python 统计数组中元素出现次数并进行排序的实例
Jul 02 Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 Python
pyqt5与matplotlib的完美结合实例
Jun 21 Python
pytorch 实现删除tensor中的指定行列
Jan 13 Python
Python进行特征提取的示例代码
Oct 15 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
PHP中如何判断AJAX提交的数据
2012/02/05 PHP
PHP 文件系统详解
2012/09/13 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
Yii快速入门经典教程
2015/12/28 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
JavaScript之编码规范 推荐
2012/05/23 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
jquery动态分页效果堪比时光网
2014/09/25 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
2015/03/09 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
Angular如何由模板生成DOM树的方法
2019/12/23 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
Python函数式编程指南(四):生成器详解
2015/06/24 Python
python列表操作之extend和append的区别实例分析
2015/07/28 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
商务英语专业应届毕业生求职信
2013/10/28 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
2014年平安夜寄语
2014/12/08 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
2016年端午节寄语
2015/12/04 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS