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 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 Python
python实现根据窗口标题调用窗口的方法
Mar 13 Python
Python Socket传输文件示例
Jan 16 Python
Python  pip安装lxml出错的问题解决办法
Feb 10 Python
使用Python爬取最好大学网大学排名
Feb 24 Python
Python3模拟curl发送post请求操作示例
May 03 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
关于django 1.10 CSRF验证失败的解决方法
Aug 31 Python
Python获取时间戳代码实例
Sep 24 Python
Python time库基本使用方法分析
Dec 13 Python
使用keras实现非线性回归(两种加激活函数的方式)
Jul 05 Python
Python函数对象与闭包函数
Apr 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
PHP多线程抓取网页实现代码
2010/07/22 PHP
PHP图片上传代码
2013/11/04 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
thinkphp分页集成实例
2017/07/24 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
Python collections.defaultdict模块用法详解
2020/06/18 Python
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
new修饰符是起什么作用
2015/06/28 面试题
《永远的白衣战士》教学反思
2014/04/25 职场文书
推广普通话主题班会
2015/08/17 职场文书
在校大学生才艺比赛策划书怎么写?
2019/08/26 职场文书
pytorch--之halfTensor的使用详解
2021/05/24 Python
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis