简单介绍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写xml文件的操作实例
Oct 05 Python
python生成器generator用法实例分析
Jun 04 Python
python调用Delphi写的Dll代码示例
Dec 05 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
使用 Django Highcharts 实现数据可视化过程解析
Jul 31 Python
Django实现基于类的分页功能
Oct 31 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
Apr 14 Python
python中id函数运行方式
Jul 03 Python
彻底搞懂python 迭代器和生成器
Sep 07 Python
Python常用扩展插件使用教程解析
Nov 02 Python
如何编写python的daemon程序
Jan 07 Python
python 三边测量定位的实现代码
Apr 22 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实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
JS 获取滚动条高度示例代码
2013/10/24 Javascript
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
2018/09/12 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
跟老齐学Python之有容乃大的list(4)
2014/09/28 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
python读取二进制mnist实例详解
2017/05/31 Python
Windows下安装Scrapy
2018/10/17 Python
Django接收自定义http header过程详解
2019/08/23 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
Python文件操作基础流程解析
2020/03/19 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
python 实现批量图片识别并翻译
2020/11/02 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
ToysRus日本官网:玩具反斗城
2018/09/08 全球购物
澳大利亚一站式数码相机商店:CameraPro
2020/03/09 全球购物
生物技术专业研究生自荐信
2013/09/22 职场文书
学生感冒英文请假条
2014/02/04 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
严以用权学习心得体会
2016/01/12 职场文书
2019各种承诺书范文
2019/06/24 职场文书
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis