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 BeautifulSoup使用方法详解
Nov 21 Python
从零学Python之hello world
May 21 Python
Python logging模块学习笔记
May 24 Python
Python使用urllib模块的urlopen超时问题解决方法
Nov 08 Python
在Django框架中编写Context处理器的方法
Jul 20 Python
python绘制条形图方法代码详解
Dec 19 Python
Tensorflow使用tfrecord输入数据格式
Jun 19 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
python实现泊松图像融合
Jul 26 Python
Python实现微信消息防撤回功能的实例代码
Apr 29 Python
python实现图片九宫格分割
Mar 07 Python
Python如何实现大型数组运算(使用NumPy)
Jul 24 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提交后跳转
2013/06/23 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
2015/10/27 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
2018/03/14 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
python实现通过shelve修改对象实例
2014/09/26 Python
python字符串替换的2种方法
2014/11/30 Python
在Django的视图中使用数据库查询的方法
2015/07/16 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
python对html过滤处理的方法
2018/10/21 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
pycharm中import呈现灰色原因的解决方法
2020/03/04 Python
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
运动会广播稿400字
2014/01/25 职场文书
高中生物教学反思
2014/02/05 职场文书
学生会主席演讲稿
2014/04/25 职场文书
简单租房协议书范本
2014/08/20 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
1000字打架检讨书
2014/11/03 职场文书
2014年党总支工作总结
2014/12/18 职场文书
创业计划书之面包店
2019/09/17 职场文书
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript