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实现身份证号码解析
Sep 01 Python
Python中的二维数组实例(list与numpy.array)
Apr 13 Python
pandas 两列时间相减换算为秒的方法
Apr 20 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
Jul 10 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
利用rest framework搭建Django API过程解析
Aug 31 Python
Django通过dwebsocket实现websocket的例子
Nov 15 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 Python
python实现替换word中的关键文字(使用通配符)
Feb 13 Python
python实现图片,视频人脸识别(dlib版)
Nov 18 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
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代码把全角数字转为半角数字
2007/12/10 PHP
Session保存到数据库的php类分享
2011/10/24 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
jquery 指南/入门基础
2007/11/30 Javascript
ExtJs之带图片的下拉列表框插件
2010/03/04 Javascript
javascript dom代码应用 简单的相册[firefox only]
2010/06/12 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
jQuery中append()方法用法实例
2015/01/08 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
JS去除字符串中空格的方法
2017/02/14 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
python根据unicode判断语言类型实例代码
2018/01/17 Python
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
拉丁舞学习者的自我评价
2013/10/27 职场文书
校本课程教学计划
2015/01/19 职场文书
青岛导游词
2015/02/12 职场文书
老兵退伍感言
2015/08/03 职场文书
小学教代会开幕词
2016/03/04 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL