python函数式编程
一、lambda()
主要用来自定义行内函数
二、map()
首先定义一个函数,再用map()命令将函数逐一应用到map列表中的每个元素,最后返回一个数组
例如:map(lambda x,y : x*y,a,b) 表明将a,b两个列表的元素对应相乘,把结果返回到新列表。
三、reduce()
用于递归运算
例如:reduce(lambda x,y : x*y,range(1,n+1)) 计算n的阶乘
四、filter()
是一个过滤器,用来筛选出列表中符合条件的元素。
例如:b=filter(lambda x:x>5 and x<8,range(10)) 返回 [6,7]
因为range(10)返回的是一个列表。
注:我们最终目的是兼顾简洁和效率,以上4个函数的循环速度比python 内置的for循环或while循环要快得多。