三周四次课(11月2日) 1. 高阶函数 2. 匿名函数

三周四次课(11月2日)

1. 高阶函数

高阶函数,就是把函数当成参数传递的一种函数,例如:

def add(x,y,f):
    return f(x)+f(y)
print(add(-8,11,abs))

输出

19

解释:
1、调用add函数,分别执行abs(-8),abs(11)
2、最后进行和计算

map()

map函数是Python内置的一个高阶函数,他接受一个函数f和一个list,并把list的元素一次传递给函数f,然后返回一个函数f处理完所有list元素的列表,如下所示:

def f2(x):
    return x*x           
l = [1,2,3,4,5,6]

输出
[1,4,9,16,25,36]

reduce

reduce必须接受两个参数
把可迭代对象的前两个参数作为函数的实参,传入f
把f运算的结果作为第一个实参,可迭代对象的下一个元素作为另一个实参,传入函数中,以此类推

def  f(x,y):
    return x + y
print(reduce(f,[1,2,3,4,5,],10))

输出
25

解释
计算过程

    1+2 =3
        3+3=6
            6+4=10
                10+5 =15
                    15+10=25

filter()

filter函数是Python内置的另一个高阶参数,filter接受一个函数f和一个list,这个函数f的作用是对么一个元素进行判断,返回True或False,filter根据判断结果自动过滤掉不符合条件的元素,返回符合条件元素组成的新list。

def is_odd(x):
    return x%2 == 1
print(filter(is_odd,[1,2,3,4,5]))

输出
[1,3,5]  //输出奇数

sorted

对字典进行排序

mm = dict(a=1,b=5,c=4,d=2)

test = sorted(mm)
print(test)

输出
['a','b','c','d']  只给键值进行排序


mm = dict(a=1,b=5,c=4,d=2)
test = sorted(mm.iteritems(),key=lambda d:d[1],reverse=True)
print(test)

输出
[('b', 5), ('c', 4), ('d', 2), ('a', 1)]

2. 匿名函数

匿名函数是没有名字的函数
iambda 函数是一种快速自定义单行的最小函数,可以用在任何需要函数的地方
常规版本:

def fun(x,y)
    return x*y

iambda 版本:

r = lambda x,y:x*y

匿名函数比较简单,但平时使用比较少

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值