简单介绍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编写web API的教程
Apr 30 Python
python爬虫入门教程--利用requests构建知乎API(三)
May 25 Python
Python编程对列表中字典元素进行排序的方法详解
May 26 Python
python的移位操作实现详解
Aug 21 Python
Python如何实现小程序 无限求和平均
Feb 18 Python
Pytorch转tflite方式
May 25 Python
Django中Aggregation聚合的基本使用方法
Jul 09 Python
python批量修改文件名的示例
Sep 27 Python
python smtplib发送多个email联系人的实现
Oct 09 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 Python
pytorch 两个GPU同时训练的解决方案
Jun 01 Python
Python+OpenCV实现在图像上绘制矩形
Mar 21 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开发模式(简写版)
2007/03/15 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
2017/09/26 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
2019/05/06 PHP
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
基于jQuery选择器的整理集合
2013/04/26 Javascript
JS和函数式语言的三特性
2014/03/05 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
如何使用python操作vmware
2019/07/27 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
同学聚会欢迎辞
2014/01/14 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
安全保证书怎么写
2015/02/28 职场文书
病危通知单
2015/04/17 职场文书
被告答辩状范文
2015/05/22 职场文书
雷锋电影观后感
2015/06/10 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
Mysql案例刨析事务隔离级别
2021/09/25 MySQL