用法一
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。