Python的函数以及函数式编程2

Python的函数以及函数式编程2

 

 

  1. 匿名函数 lambda:

Lambda [arg1 [,arg2, … argN] ]: expression

一般用于将lambda表达式赋值给一个变量,这个变量就是一个函数,但是会更加方便。C++的内联函数绕过了函数的栈分配。

  1. Filter() + 列表解析:

From random import randint

Print [n for n in [randint(1, 99) for I in range(9) ] if n%2]

 

  1. Map():

直观理解跟google的MapReduce是一个级别的。

Eg:

map((lambda  x:x+2), [1, 2, 3, 4])
map((lambda  x, y:x+y), [1, 3, 5], [2, 4, 6])
map((lambda  x, y:x-y), [1, 3, 5], [2, 4, 6])

其中,x-y的时候会得到两组不同的结果,【(3, -1),(7, -1),(11, -1)】

另外map(None, [1, 3, 5], [2, 4, 6])与下面的zip是一个功能,用合并两个序列
zip([1, 3, 5], [2, 4, 6])

 

  1. Reduce():

依此将序列的前两个元素进行计算返回一个元素,将得到的元素与后面的元素再次进行计算,以此类推,直到结束。

posted on 2017-03-01 09:27  Eton..Bee  阅读(140)  评论(0编辑  收藏  举报