高阶函数和匿名函数
来源:互联网 发布:windows小键盘 编辑:程序博客网 时间:2024/06/07 14:25
1.高阶函数
高阶函数就是把函数当成参数传递的函数。
例如:
def add(x,y,f): return f(x) + f(y)print add(-4,3,abs)结果是 7
map()函数
map()函数的python内置的高阶函数,他接受一个函数f 和参数list,并把list的元素传递给函数f,然后返回一个函数f处理完list元素的列表。
例如:
lt = [1,2,3,4,5]def fun1(x): return x*xml = map(fun1,lt)print ml最终返回的结果是个列表
reduce()函数
reduce函数是python内置的高阶函数,reduce()函数接收的参数跟map()类似,一个函数f,一个list,但行为和map()不同,reduce函数传入的f必须接收2个参数,第一次调用把list的前两个元素传递给f,第二次调用时就是把前两个 元素计算结果当成第一个参数,list的第三个元素当成第二个参数,传入f进行操作,以后以此类推,直到返回最终结果。
例如:
lis = [1,2,3,4,5]def fun2(x,y): return x + yres = reduce(fun2,lis,10)print res计算结果是
25
解释:
1.a = fun2(1,2) 值为3
2.b = fun2(a,3) 值为 6
3.c = fun2(b,4) 值为 10
4.d = dun2(c,5) 值为15
5,计算 f(d,10) 结果是25、
# 传入的函数必须接收2个参数。
filter()函数
filter()函数是python内置的一个高阶函数,filter()函数接收一个函数f 跟一个list.这个函数f的作用就是对每个元素进行判断,返回true 或者false. filter()判断的结果自动过滤掉不符合条件的元素,返回由符合条件的元素组成的新的list列表
举例:
lis2 = [1,2,3,4,5,6,7,8,9,10]def fun3(x): return x % 2 == 0rus = filter(fun3,lis2)print (rus)返回结果:
[2, 4, 6, 8, 10]
2.匿名函数
顾名思义就是没有名字的函数,lambda是一种快速定义单行的最小函数,可以用在任何需要函数的地方。
例如:
def sum(x,y): return x + ym = lambda x,y:x+yprint (m(4,5))print type(m)
阅读全文
0 0
- 高阶函数和匿名函数
- python高阶和匿名函数
- 第十三天 函数(高阶和匿名)
- python函数-高阶函数和匿名函数
- !!scala 高阶函数,匿名函数
- 高阶函数与与匿名函数
- 高阶函数与匿名函数
- Python高阶函数及匿名函数
- Python-高阶函数及匿名函数
- 高阶函数与与匿名函数
- LISP 5.8-5.9 高阶函数与匿名函数
- CommonLisp(三)---高阶函数与匿名函数(lambda演算)
- 匿名函数与高阶函数的使用
- python(七)高阶函数,匿名函数
- Kotlin编程之高阶函数,Lambda表达式,匿名函数
- Erlang匿名函数及函数的高阶应用
- 匿名函数和内置函数
- 具名函数和匿名函数
- 移动端H5页面截图【含 domtoimage、html2canvas 】
- Idea
- springBoot 动态数据源以及Mybatis多数据源
- 在其他数都出现偶数次的数组中找到出现奇数次的数
- 怎样理解阻塞非阻塞与同步异步的区别
- 高阶函数和匿名函数
- Unity3d
- JavaSE之面向对象编程-类与对象
- Qt5.7 + VS2015 环境搭建
- 微信小程序-从零开始制作一个跑步微信小程序
- 函数的模板
- 提交表单上传文件
- Yii 框架 验证码 与 表单验证 操作
- 训练GAN的16个trick