1.lambda函数:
用法:定义函数
func=lambda x,y:x+y
print func(3,4)
等同于:
def func(x,y):
return x+y
2.函数作为参数传递:
def test(f,a,b):
print f(a,b)
test(func,3,5)
解释:test的第一个参数f就是一个函数对象。将func传递给f,test中的f()拥有了func()的功能
test(lambda x,y:x+y),6,9),提高函数的灵活性
3.map函数
re=map(lamdba x:x+9),[1,2,3,4])
map函数包括2各参数,功能是将函数对象作用于表的每一个元素,每次得到的结果存储在表re中
如果函数对象有多个参数,可用下面的方式:
re=map((lambda x,y:x+y),[1,2,3],[2,3,4])
4.filter()函数
filter函数第一个参数也是一个函数对象,作用于多个元素。如果函数返回的是true,则该次的元素被储存在返回的表中。filter函数通过函数来筛选符合要求的数据
def func(a):
if a>100:
return ture
else:
return false
print filter(func,[10,145,123,789])
5.reduce函数
reduce函数的第一个参数也是函数,这个函数对象作用于二个参数,自身接收2个参数
print reduce((lamdba x,y:x+y),[1,2,3,4,5,6])
reduce的第一个参数是lambda函数,它接收二个参数x,y,返回x+y
reduce将表中的1,2传递给lambda函数,得到3.这个返回值3作为lambda函数的第一个参数,表中的下一个元素54作为lambda第二个参数,得到8,依次调用下一个元素和lambda函数,直到表中没有剩余函数
最终结果就是24