简单介绍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高效编程技巧
Jan 07 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
Python 带有参数的装饰器实例代码详解
Dec 06 Python
对matplotlib改变colorbar位置和方向的方法详解
Dec 13 Python
python 动态生成变量名以及动态获取变量的变量名方法
Jan 20 Python
在Python中字典根据多项规则排序的方法
Jan 21 Python
python启动应用程序和终止应用程序的方法
Jun 28 Python
简单了解python列表和元组的区别
May 14 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
Dec 05 Python
python实现web邮箱扫描的示例(附源码)
Mar 30 Python
python操作xlsx格式文件并读取
Jun 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
Yii操作数据库的3种方法
2014/03/11 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
2014/04/10 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
实现jquery放大镜的两种方法
2018/02/22 jQuery
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
es5 类与es6中class的区别小结
2020/11/09 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
Python程序运行原理图文解析
2018/02/10 Python
python实现多线程网页下载器
2018/04/15 Python
Python做智能家居温湿度报警系统
2018/09/25 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
Python2与Python3的区别点整理
2019/12/12 Python
Python request操作步骤及代码实例
2020/04/13 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
Keras实现DenseNet结构操作
2020/07/06 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
用python写爬虫简单吗
2020/07/28 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
2020/08/28 Python
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
2015年人力资源部工作总结
2015/04/30 职场文书
青春雷锋观后感
2015/06/10 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书