Python:map,reduce,filter
文章来自微信公众号“科文路”,欢迎关注、互动。转发须注明出处。
今天通过几个程序温习这三个 Python 内置函数的用法。
小结
map
, reduce
, filter
是 Python 内置的 3 个 generator,它们都接受 2 个参数,并将 参数1(functor) 应用到 参数2(iterator) 上。不同的是,
map
依次将 iterator 产生的每个值代入 functor,对位生成新值;reduce
递归式的每次作用于 iterator 产生的最前面两个值,并将结果作为第一个值代入下一次计算,最终结果一个值;filter
依次将 iterator 产生的每个值代入返回 bool 值的 functor,并保留为 True 的那些结果。
map
map(functor, iterator)
是一个 generator,它依次将 iterator 产生的每个值代入 functor,对位生成新值。
例如,
1 | # 一个对输入列表里的值求平方的 generator |
reduce
reduce(functor, iterator)
是一个 generator,它递归式的每次作用于 iterator 产生的最前面两个值,并将结果作为第一个值代入下一次计算,最终结果一个值。
例如,
1 | # sum() |
filter
filter(functor, iterator)
是一个 generator,它依次将 iterator 产生的每个值代入返回 bool 值的 functor,并保留为 True 的那些结果。
例如,
1 | x = filter(lambda x: x % 2 == 0, [1, 2, 4, 5, 6, 9, 10, 15]) |
下面这段代码作一个简单筛选,筛出质数。
1 | # %% |
都看到这儿了,不如关注每日推送的“科文路”、互动起来~~
至少,点个赞再走吧~
Python:map,reduce,filter