當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Julia mapreduce方法用法及代碼示例


用法:

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

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.mapreduce — Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。