简单介绍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中的CURL PycURL使用例子
Jun 01 Python
Python二叉树的定义及常用遍历算法分析
Nov 24 Python
手把手教你使用Python创建微信机器人
Apr 29 Python
简单的Python调度器Schedule详解
Aug 30 Python
Python 使用多属性来进行排序
Sep 01 Python
python区分不同数据类型的方法
Oct 14 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
Nov 07 Python
Python开发企业微信机器人每天定时发消息实例
Mar 17 Python
Python中常用的os操作汇总
Nov 05 Python
python实现图像高斯金字塔的示例代码
Dec 11 Python
python 基于PYMYSQL使用MYSQL数据库
Dec 24 Python
python 获取计算机的网卡信息
Feb 18 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
操作Oracle的php类
2006/10/09 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
2015/10/26 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
微信小程序 wxParse插件显示视频问题
2019/09/27 Javascript
JSONP解决JS跨域问题的实现
2020/05/25 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
python使用sqlite3时游标使用方法
2018/03/13 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
2014年会演讲稿范文
2014/01/06 职场文书
心理学专业求职信
2014/06/16 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
2014年后勤工作总结
2014/11/18 职场文书
写给领导的感谢信
2015/01/22 职场文书
黑白记忆观后感
2015/06/18 职场文书
教导处教学工作总结
2015/08/12 职场文书
如何书写公司员工保密协议?
2019/06/27 职场文书