如何使用Julia合并单个词典中的两个词典?

log*_*ick 2 julia

我定义了两个单独的字典。我想知道是否有一种优雅的单一表达方式可以将这两个词典合并为一个?

log*_*ick 5

是的,使用该merge()功能。这是一个简单的示例:

julia> a = Dict("One" => 1.0, "Two" => 2.0)
Dict{String,Float64} with 2 entries:
  "One" => 1.0
  "Two" => 2.0

julia> b = Dict("Three" => 3, "Four" => 4)
Dict{String,Int64} with 2 entries:
  "Three" => 3
  "Four"  => 4

julia> c = merge(a, b)
Dict{String,Float64} with 4 entries:
  "One"   => 1.0
  "Two"   => 2.0
  "Three" => 3.0
  "Four"  => 4.0
Run Code Online (Sandbox Code Playgroud)

有关更多示例和功能,请参见此处的Julia文档merge()。该merge函数创建一个新的单独的字典并返回它。还有一个变异merge!函数可以修改其第一个参数:

julia> merge!(a, b)
Dict{String,Float64} with 4 entries:
  "One"   => 1.0
  "Two"   => 2.0
  "Three" => 3.0
  "Four"  => 4.0

julia> a
Dict{String,Float64} with 4 entries:
  "One"   => 1.0
  "Two"   => 2.0
  "Three" => 3.0
  "Four"  => 4.0
Run Code Online (Sandbox Code Playgroud)

请注意,merge!返回的合并数组是原始字典的a修改。