今天学习了python中的四种高级函数lambda,map,reduce,filter。常用于数据分析当中。
lambda用于定义一些简单的函数,但是太复杂的无法处理。使用lambda不需要定义函数名称,直接调用函数就可以,如果是def的话需要先def函数名称再return函数计算公式。
map是可以一次性将函数映射到序列中所有元素,实现一次性计算。
reduce函数的使用在python3里需要调用模块才能直接使用。reduce函数会先计算序列前两个元素的结果,用该结果继续和下一个元素进行运算,循环到最后一个元素。
filter函数是用来过滤数据,留下返回值是True的元素。
#lambda函数——匿名函数,作用是定义函数,一般是简单点的函数,相当于define
#不需要def来定义,不需要有具体函数名称
#语法结构是 lambda par1,par2,...,parn:expression
g=lambda x:x**2#相当于def g(x)=x**2
print(g(2))
f=lambda x,y,z:x+y+z
print(f(1,2,3))
h=lambda x:"A" if x==1 else "B"
print(h(1))
#map函数,将函数映射到或者说使用到序列中每一个元素,并生成一个新序列
#函数结构 map(function,sequence)
i=[1,2,3,4]
def f(x):
return x**2
s=list(map(f,i))
print(s)#[1, 4, 9, 16]
#lambda和map的结合
s=list(map(lambda x:x**3,i))
print(s)#[1, 8, 27, 64]
#reduce函数,pyt