用法:
mapreduce(f, op, itrs...; [init])
将函数 f
应用于 itrs
中的每个元素,然后使用二进制函数 op
减少结果。如果提供,init
必须是为空集合返回的 op
的中性元素。未指定 init
是否用于非空集合。通常,有必要提供init
来处理空集合。
在函数上等同于调用 mapreduce
reduce(op, map(f, itr); init=init)
,但通常执行速度更快,因为不需要创建中间集合。请参阅
和 reduce
的文档。map
Julia 1.2
具有多个迭代器的 mapreduce
需要 Julia 1.2 或更高版本。
例子
julia> mapreduce(x->x^2, +, [1:3;]) # == 1 + 4 + 9
14
归约的关联性取决于实现。此外,某些实现可能会为在 itr
中多次出现的元素重用 f
的返回值。使用
或mapfoldl
来保证左或右关联性以及对每个值调用mapfoldr
f
。
相关用法
- Julia map!用法及代码示例
- Julia map用法及代码示例
- Julia mapslices用法及代码示例
- Julia max()用法及代码示例
- Julia max用法及代码示例
- Julia maximum!用法及代码示例
- Julia maximum用法及代码示例
- Julia macro用法及代码示例
- Julia match用法及代码示例
- Julia mergewith!用法及代码示例
- Julia module用法及代码示例
- Julia merge!用法及代码示例
- Julia mod用法及代码示例
- Julia minimum用法及代码示例
- Julia merge用法及代码示例
- Julia muladd用法及代码示例
- Julia minimum!用法及代码示例
- Julia mergewith用法及代码示例
- Julia mod()用法及代码示例
- Julia min用法及代码示例
- Julia minmax用法及代码示例
- Julia mod1用法及代码示例
- Julia min()用法及代码示例
- Julia splice!用法及代码示例
- Julia @cfunction用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.mapreduce — Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。