1、lambda函数

lambda可用于定义函数,例子:

func = lambda x,y: x+y

print func(x,y)

 2、函数可作为参数传递

def f2(f1,a):

  f1(a,1)

  return f1

 

f2(f1,4)

3、map

re = map((lambda x: x+3),[1,3,5,6])

map有两个参数,一个是lambda所定义的函数,另一个是包含多个元素的表

map的功能是 将 函数依次作用于 表中的元素,  并将结果保存在 re 表中,map多个参数写法如下

re = map((lambda x,y: x+y),[1,2,3],[6,7,9])

4、filter

filter函数的第一个参数也是一个函数对象(这里不一定是lambda定义的)。它也是将作为参数的函数对象作用于多个元素。如果函数对象返回的是True,则该次的元素被储存于返回的表中。

filter通过读入的函数来筛选数据。同样,在Python 3.X中,filter返回的不是表,而是循环对象。实例如下

def func(a):

  if a > 100:

    return True

  else:

    return False

print filter(func,[10,56,101,500])

 5、reduce

reduce函数的第一个参数也是函数,但有一个要求,就是这个函数自身能接收两个参数。reduce可以累进地将函数作用于各个参数。

如下:

print reduce((lambda x,y: x+y),[1,2,5,7,9])

相当于(((1+2)+5)+7)+9