如何在Julia中初始化减少和使用累加器

时间:2019-06-11 20:42:47

标签: julia

它没有初始值就可以工作:

reduce(+, [2 3 4])

尝试了多种提供初始值的方法-无效

reduce(+, [2 3 4], 1)
reduce(+, 1, [2 3 4])

也似乎reduce只能与2个参数运算符一起使用。应该使用哪个函数来减少接受当前值和累加器的自定义函数的收集?像下面的代码一样?

reduce((accumulator, value) -> push!(accumulator, value^2), [1, 2, 3], [])
# => [1, 4, 9]

此示例可以实现为map(x -> x^2, [1, 2, 3]),但我想知道如何通过累加器将其实现为reduce。

julia版本1.1.1

1 个答案:

答案 0 :(得分:3)

init的{​​{1}}参数是关键字参数:

reduce