用法一
sum(f, itr; [init])
对 itr
的每个元素调用函数 f
的结果求和。
返回类型为Int
用于小于系统字长的有符号整数,而UInt
用于小于系统字长的无符号整数。对于所有其他参数,找到一个公共返回类型,所有参数都被提升到该类型。
空 itr
返回的值可以由 init
指定。它必须是加法标识(即零),因为未指定 init
是否用于非空集合。
Julia 1.6
关键字参数 init
需要 Julia 1.6 或更高版本。
例子
julia> sum(abs2, [2; 3; 4])
29
请注意 sum(A)
和 reduce(+, A)
对于具有小整数 eltype 的数组的重要区别:
julia> sum(Int8[100, 28])
128
julia> reduce(+, Int8[100, 28])
-128
在前一种情况下,整数被扩大到系统字大小,因此结果为 128。在后一种情况下,不会发生这种扩大,整数溢出导致 -128。
用法二
sum(itr; [init])
返回集合中所有元素的总和。
返回类型为Int
用于小于系统字长的有符号整数,而UInt
用于小于系统字长的无符号整数。对于所有其他参数,找到一个公共返回类型,所有参数都被提升到该类型。
空 itr
返回的值可以由 init
指定。它必须是加法标识(即零),因为未指定 init
是否用于非空集合。
Julia 1.6
关键字参数 init
需要 Julia 1.6 或更高版本。
另请参阅:
、reduce
、mapreduce
、count
。union
例子
julia> sum(1:20)
210
julia> sum(1:20; init = 0.0)
210.0
用法三
sum(A::AbstractArray; dims)
对给定维度上的数组元素求和。
例子
julia> A = [1 2; 3 4]
2×2 Matrix{Int64}:
1 2
3 4
julia> sum(A, dims=1)
1×2 Matrix{Int64}:
4 6
julia> sum(A, dims=2)
2×1 Matrix{Int64}:
3
7
用法四
sum(f, A::AbstractArray; dims)
在给定维度上对数组的每个元素调用函数 f
的结果求和。
例子
julia> A = [1 2; 3 4]
2×2 Matrix{Int64}:
1 2
3 4
julia> sum(abs2, A, dims=1)
1×2 Matrix{Int64}:
10 20
julia> sum(abs2, A, dims=2)
2×1 Matrix{Int64}:
5
25
相关用法
- Julia sum!用法及代码示例
- Julia summary用法及代码示例
- Julia supertype()用法及代码示例
- Julia supertype用法及代码示例
- Julia splice!用法及代码示例
- Julia sizeof()用法及代码示例
- Julia setfield()用法及代码示例
- Julia sort用法及代码示例
- Julia sqrt方法用法及代码示例
- Julia signed用法及代码示例
- Julia sortperm用法及代码示例
- Julia strip用法及代码示例
- Julia setdiff!用法及代码示例
- Julia setindex!方法用法及代码示例
- Julia sizeof方法用法及代码示例
- Julia stride用法及代码示例
- Julia skipmissing用法及代码示例
- Julia setdiff用法及代码示例
- Julia show方法用法及代码示例
- Julia string用法及代码示例
- Julia signbit()用法及代码示例
- Julia startswith用法及代码示例
- Julia strides用法及代码示例
- Julia symdiff用法及代码示例
- Julia split用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.sum — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。