四十一.python中的匿名函数,高阶函数map/reduce/filter

什么是高阶函数?

高阶函数是指可以把函数以参数形式去传递的一种函数。

以下就是一个高阶函数的例子:  把函数作为参数的形式存在。

def add(x,y,f):
    return f(x)+f(y)
print add(-2,3,abs)#这时候abs直接赋值给了f参数,而abs本身就是一个函数

匿名函数:一般return只有一个表达式的函数可以通过匿名函数来完成。匿名函数顾名思义,就是可以不用写函数名字。例如:

def add(x,y):                             等同于:       lambda x,y:x+y

      return x+y

若我们需要使用 lambda x,y:x+y  可以给它一个变量名。  a=lambda x,y:x+y  调用函数直接写 print a(1,2)  则会打印3

接下来看看map/reduce/filter的区别:

#coding:utf-8
a = map(lambda x:x*x,range(1,10)) #可以把1-10,不包括10的值进行相乘。
print a
b = map(str,range(1,10)) #把原本生成的列表中的整型变为字符串类型
print b

#reduce可以理解为 reduce(f,[x1,x2,x3,x4])=f(f(f(x1,x2,),x3)x4)
c = reduce(lambda x,y:x*10+y,range(1,5))
print c

#filter()是python内建的过滤序列函数
d = filter(lambda x:x%2==1,range(1,10)) #过滤10以内的偶数
print d


a=lambda x,y:x+y
print a(1,2)

打印结果为:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值