您的位置:首页 > 编程语言 > Python开发

python函数式编程 map、reduce、filter

2017-01-09 21:42 447 查看
1) map函数

 a = [1, 2, 3]
b = map(lambda x: x+2, a)
b = list(b)
print(b) #[3, 4, 5]在python 3.x中,map函数仅仅是创建一个待运行的命令容器,只有其他函数调用它的时候才返回结果,所以需要b=list(b)
 map(lambda x, y : x*y, a,b)表示将a,b两个列表的元素对应想乘,把结果返回给新列表

2)reduce函数

     reduce(lambda x,y : x*y, range(1,n+1)) 计算n的阶乘,range(1,n+1)相当于一个列表,reduce命令首先将列表的前两个元素作为函数

的参数进行运算,然后将运算结果与第三个数字作为函数的参数......

3)filter函数

     b = filter(lambda x: x>5 and x<8, range(10))

     b = list(b)   #结果是[6,7]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息