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实现扫描端口示例
Mar 29 Python
Python使用遗传算法解决最大流问题
Jan 29 Python
python保存数据到本地文件的方法
Jun 23 Python
django 发送邮件和缓存的实现代码
Jul 18 Python
Python3爬虫之自动查询天气并实现语音播报
Feb 21 Python
PyQt5 实现给窗口设置背景图片的方法
Jun 13 Python
python 中pyqt5 树节点点击实现多窗口切换问题
Jul 04 Python
Python代码块及缓存机制原理详解
Dec 13 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
Feb 17 Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 Python
如何写python的配置文件
Jun 07 Python
matplotlib图例legend语法及设置的方法
Jul 28 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
mysql5详细安装教程
2007/01/15 PHP
php 动态添加记录
2009/03/10 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
Linux操作系统安装LAMP环境
2015/06/26 PHP
PHP文件操作实例总结
2016/09/27 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
JS和函数式语言的三特性
2014/03/05 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
python利用beautifulSoup实现爬虫
2014/09/29 Python
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
Python中使用wxPython开发的一个简易笔记本程序实例
2015/02/08 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
Python操作json的方法实例分析
2018/12/06 Python
python3 线性回归验证方法
2019/07/09 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
优乐美广告词
2014/03/14 职场文书
《春天来了》教学反思
2014/04/07 职场文书
甜品店创业计划书
2014/09/21 职场文书
初中重阳节活动总结
2015/05/05 职场文书