简单介绍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 相关文章推荐
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
python基础教程之五种数据类型详解
Jan 12 Python
Python实现的FTP通信客户端与服务器端功能示例
Mar 28 Python
在PyCharm中实现关闭一个死循环程序的方法
Nov 29 Python
python实现大转盘抽奖效果
Jan 22 Python
Python制作动态字符图的实例
Jan 27 Python
Python Selenium 之数据驱动测试的实现
Aug 01 Python
Python3安装pip工具的详细步骤
Oct 14 Python
pytorch 归一化与反归一化实例
Dec 31 Python
pandas to_excel 添加颜色操作
Jul 14 Python
python函数指定默认值的实例讲解
Mar 29 Python
Python进行区间取值案例讲解
Aug 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
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
Yii CGridView用法实例详解
2016/07/12 PHP
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
python设置环境变量的原因和方法
2019/06/24 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
python 爬虫如何实现百度翻译
2020/11/16 Python
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
新闻专业应届生求职信
2013/10/31 职场文书
股票投资建议书
2014/05/19 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
公司文体活动总结
2015/05/07 职场文书
分析设计模式之模板方法Java实现
2021/06/23 Java/Android