简单介绍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 Sleep休眠函数使用简单实例
Feb 02 Python
Python实现从脚本里运行scrapy的方法
Apr 07 Python
python动态性强类型用法实例
May 09 Python
Python实现高效求解素数代码实例
Jun 30 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
Python列表list排列组合操作示例
Dec 18 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
Pycharm+Python+PyQt5使用详解
Sep 25 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
Feb 13 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 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
全国中波电台频率表
2020/03/11 无线电
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
js格式化金额可选是否带千分位以及保留精度
2014/01/28 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
js里面的变量范围分享
2020/07/18 Javascript
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
python快速排序代码实例
2013/11/21 Python
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
关于工资低的辞职信
2014/01/14 职场文书
新年寄语大全
2014/04/12 职场文书
技能比武方案
2014/05/21 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
HTML基础详解(下)
2021/10/16 HTML / CSS
python读取mat文件生成h5文件的实现
2022/07/15 Python