简单介绍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类装饰器用法实例
Jun 04 Python
Python序列操作之进阶篇
Dec 08 Python
详解Python中 sys.argv[]的用法简明解释
Dec 20 Python
python3 拼接字符串的7种方法
Sep 12 Python
python中的print()输出
Apr 12 Python
python求平均数、方差、中位数的例子
Aug 22 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
python上传时包含boundary时的解决方法
Apr 08 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 Python
Django模板获取field的verbose_name实例
May 19 Python
pymongo insert_many 批量插入的实例
Dec 05 Python
python 经纬度求两点距离、三点面积操作
Jun 03 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的引用计数机制
2013/06/14 PHP
php实现留言板功能
2017/03/05 PHP
有关js的变量作用域和this指针的讨论
2010/12/16 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
Jquery实现的一种常用高亮效果示例代码
2014/01/28 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
2016/09/17 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
JS简单实现自定义右键菜单实例
2017/05/31 Javascript
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
仿照Element-ui实现一个简易的$message方法
2020/09/14 Javascript
[03:52]显微镜下的DOTA2第三期——英雄在无聊的时候干什么
2014/06/20 DOTA
Python通过命令开启http.server服务器的方法
2017/11/04 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
2020/02/28 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
python上selenium的弹框操作实现
2020/07/13 Python
Python join()函数原理及使用方法
2020/11/14 Python
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
小学教师读书活动总结
2014/07/08 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
神农溪导游词
2015/02/11 职场文书
技术员个人工作总结
2015/03/03 职场文书
同学会感言
2015/07/30 职场文书
Python-OpenCV实现图像缺陷检测的实例
2021/06/11 Python
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android