Python中函数式编程map()和zip()
map()
![](https://i-blog.csdnimg.cn/blog_migrate/8a467db4491545610cfac6b7b2389bfd.png)
Iterable可以有多个,表示function接受多个参数作为对象
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f依次作用在 list 的每个元素上,得到一个新的 list 并返回
def f(x):
return x * x
print(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
zip()
![](https://i-blog.csdnimg.cn/blog_migrate/356e3d679e1fc66695be98c2412af3db.png)
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表
x = [1, 2, 3]
y = [4, 5, 6, 7]
xy = zip(x, y)
print xy
![](https://i-blog.csdnimg.cn/blog_migrate/87c1343428e2b7c4057928fa942787f7.png)
zip取迭代器中对应的元素组成tuple
![](https://i-blog.csdnimg.cn/blog_migrate/6fbb6326042b464921145f5765472fb1.png)
lambda
![](https://i-blog.csdnimg.cn/blog_migrate/38fb562a47421e415220ee7fb228d4c2.png)
lambda[arguments]:expression
lambda表达式是函数的速写,其输入参数是arguments,其函数体是expression,返回值是expression的值
python中函数式编程filter()和reduce()
![](https://i-blog.csdnimg.cn/blog_migrate/ccb4a87bb1d03678ad10c2abc53c8ffb.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a17eb4bd38eb1512cd9f3c0960f6b2e7.png)