简单介绍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统计字符串中指定字符出现次数的方法
Apr 04 Python
详解在Python中处理异常的教程
May 24 Python
使用Python AIML搭建聊天机器人的方法示例
Jul 09 Python
浅析python的优势和不足之处
Nov 20 Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 Python
详解Python 解压缩文件
Apr 09 Python
Python实现socket非阻塞通讯功能示例
Nov 06 Python
python3.x 生成3维随机数组实例
Nov 28 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 Python
opencv 图像加法与图像融合的实现代码
Jul 08 Python
python利用proxybroker构建爬虫免费IP代理池的实现
Feb 21 Python
python xlwt模块的使用解析
Apr 13 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
php自动获取目录下的模板的代码
2010/08/08 PHP
php经典趣味算法实例代码
2020/01/21 PHP
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
jQuery中Ajax的load方法详解
2015/01/14 Javascript
js文本框走动跑马灯效果代码分享
2015/08/25 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
json的使用小结
2016/06/08 Javascript
浅谈JQ中mouseover和mouseenter的区别
2016/09/13 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
vue学习之mintui picker选择器实现省市二级联动示例
2017/10/12 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
python装饰器使用方法实例
2013/11/21 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
2020/04/01 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
python PIL模块的基本使用
2020/09/29 Python
简述python&pytorch 随机种子的实现
2020/10/07 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
新西兰最大的连锁超市:Countdown
2020/06/04 全球购物
介绍一下如何优化MySql
2016/12/20 面试题
个人课题方案
2014/05/08 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
大学毕业生推荐信
2014/07/09 职场文书
关于环保的活动方案
2014/08/25 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
升职感谢领导的话语及升职感谢信
2019/06/24 职场文书
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS
Python OpenCV形态学运算示例详解
2022/04/07 Python