通过对相同键的值求和在 Julia 中添加字典
adding dictionaries in Julia by summing values of same keys
我在 Julia 中有两个字典 a1
和 a2
。
a1 = {"A"=>1, "B"=>2}
a2 = {"A"=>4, "B"=>1, "C"=>3}
我想把它结合起来得到这个。
final={"A"=>5, "B"=>3, "C"=>3}
在Python中,我将字典转换为收集计数器并将它们组合在一起。
看看 DataStructures.jl 计数器。
julia> using DataStructures: counter
julia> a1 = Dict{ASCIIString, Int64}("A"=>1, "B"=>2)
Dict{ASCIIString,Int64} with 2 entries:
"B" => 2
"A" => 1
julia> a2 = Dict{ASCIIString, Int64}("A"=>4, "B"=>1, "C"=>3)
Dict{ASCIIString,Int64} with 3 entries:
"B" => 1
"A" => 4
"C" => 3
julia> merge(counter(a1), counter(a2)).map
Dict{ASCIIString,Int64} with 3 entries:
"B" => 3
"A" => 5
"C" => 3
对于现在查看此内容的任何人,不再需要 counter
-- 使用 merge(+, a1, a2)
。
julia> a1 = Dict("A"=>1, "B"=>2)
Dict{String,Int64} with 2 entries:
"B" => 2
"A" => 1
julia> a2 = Dict("A"=>4, "B"=>1, "C"=>3)
Dict{String,Int64} with 3 entries:
"B" => 1
"A" => 4
"C" => 3
julia> merge(+, a1, a2)
Dict{String,Int64} with 3 entries:
"B" => 3
"A" => 5
"C" => 3
我在 Julia 中有两个字典 a1
和 a2
。
a1 = {"A"=>1, "B"=>2}
a2 = {"A"=>4, "B"=>1, "C"=>3}
我想把它结合起来得到这个。
final={"A"=>5, "B"=>3, "C"=>3}
在Python中,我将字典转换为收集计数器并将它们组合在一起。
看看 DataStructures.jl 计数器。
julia> using DataStructures: counter
julia> a1 = Dict{ASCIIString, Int64}("A"=>1, "B"=>2)
Dict{ASCIIString,Int64} with 2 entries:
"B" => 2
"A" => 1
julia> a2 = Dict{ASCIIString, Int64}("A"=>4, "B"=>1, "C"=>3)
Dict{ASCIIString,Int64} with 3 entries:
"B" => 1
"A" => 4
"C" => 3
julia> merge(counter(a1), counter(a2)).map
Dict{ASCIIString,Int64} with 3 entries:
"B" => 3
"A" => 5
"C" => 3
对于现在查看此内容的任何人,不再需要 counter
-- 使用 merge(+, a1, a2)
。
julia> a1 = Dict("A"=>1, "B"=>2)
Dict{String,Int64} with 2 entries:
"B" => 2
"A" => 1
julia> a2 = Dict("A"=>4, "B"=>1, "C"=>3)
Dict{String,Int64} with 3 entries:
"B" => 1
"A" => 4
"C" => 3
julia> merge(+, a1, a2)
Dict{String,Int64} with 3 entries:
"B" => 3
"A" => 5
"C" => 3