简单介绍Python中的filter和lambda函数的使用


Posted in Python onApril 07, 2015

filter(function or None, sequence),其中sequence 可以是list ,tuple,string。这个函数的功能是过滤出sequence 中所有以元素自身作...

filter(function or None, sequence),其中sequence 可以是list ,tuple,string。这个函数的功能是过滤出sequence 中所有以元素自身作为参数调用function时返回True或bool(返回值)为True的元素并以列表返回. filter只能接受两个参(function,sequence) ,其中函数function中只能返回一个值

先上一段简单的代码:
 

print max(filter(lambda x: 555555 % x == 0, range(100, 999)))

代码的意思是输出 555555 最大的三位数的约数是多少。

首先,这段代码的第一个知识点是python的内置函数 filter

filter()函数,是用来过滤列表的。最简单的说法就是 用一个函数来过滤一个列表,把列表的每一项传递进入过滤函数,过滤函数返回false就从这个列表中删除该项。

filter()函数包括两个参数, function和list。即该函数根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新的列表。

简单来讲,filter()函数相当于下面的代码:
 

c = [b for b in a1 if b > 2]
print c

第二个知识点是 lambda()函数

Python支持这种语法,它允许用户快速定义单行的最小函数,这些叫做 lambda的函数,是从Lisp借用来的。
 

def f(x):
  return x * 2
g = lambda x: x * 2
(lambda x: x * 2)(3)

根据代码可以看到,lambda函数完成了普通函数相同的事情,并且,lambda在参数列表周围没有括号,并且忽略了return关键字(return隐含存在,因为整个函数只有一行,且该函数没有名称,但可以将它赋值给一个变量进行调用)

最后一段代码展示了lambda函数只是一个内联函数。

Python 相关文章推荐
python检测服务器是否正常
Feb 16 Python
Python中实现的RC4算法
Feb 14 Python
Python获取服务器信息的最简单实现方法
Mar 05 Python
详解python调度框架APScheduler使用
Mar 28 Python
python如何为被装饰的函数保留元数据
Mar 21 Python
Python爬虫 urllib2的使用方法详解
Sep 23 Python
python3 写一个WAV音频文件播放器的代码
Sep 27 Python
Pytorch 保存模型生成图片方式
Jan 10 Python
如何通过python实现全排列
Feb 11 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
Sep 16 Python
Python中return函数返回值实例用法
Nov 19 Python
解析Python中的变量、引用、拷贝和作用域的问题
Apr 07 #Python
在Python中利用Pandas库处理大数据的简单介绍
Apr 07 #Python
详解Python中的join()函数的用法
Apr 07 #Python
Python中用于去除空格的三个函数的使用小结
Apr 07 #Python
简单介绍Python中的len()函数的使用
Apr 07 #Python
Python中endswith()函数的基本使用
Apr 07 #Python
举例详解Python中的split()函数的使用方法
Apr 07 #Python
You might like
用 PHP5 轻松解析 XML
2006/12/04 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
浅谈对python中if、elif、else的误解
2020/08/20 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
PHP面试题集
2016/12/18 面试题
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
社区敬老月活动实施方案
2014/02/17 职场文书
知识竞赛活动方案
2014/02/18 职场文书
《再见了,亲人》教学反思
2014/02/26 职场文书
村抢险救灾方案
2014/05/09 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
音乐课外活动总结
2015/05/09 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
小学新课改心得体会
2016/01/22 职场文书
初中思品教学反思
2016/02/20 职场文书
Django 如何实现文件上传下载
2021/04/08 Python
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js
MySQL批量更新不同表中的数据
2022/05/11 MySQL
Spring Cloud OpenFeign模版化客户端
2022/06/25 Java/Android