當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Julia merge用法及代碼示例


用法一

merge(d::AbstractDict, others::AbstractDict...)

從給定的集合構造一個合並的集合。如有必要,將提升結果集合的類型以適應合並集合的類型。如果另一個集合中存在相同的鍵,則該鍵的值將是它在列出的最後一個集合中的值。另請參閱 mergewith 以自定義處理具有相同鍵的值。

例子

julia> a = Dict("foo" => 0.0, "bar" => 42.0)
Dict{String, Float64} with 2 entries:
  "bar" => 42.0
  "foo" => 0.0

julia> b = Dict("baz" => 17, "bar" => 4711)
Dict{String, Int64} with 2 entries:
  "bar" => 4711
  "baz" => 17

julia> merge(a, b)
Dict{String, Float64} with 3 entries:
  "bar" => 4711.0
  "baz" => 17.0
  "foo" => 0.0

julia> merge(b, a)
Dict{String, Float64} with 3 entries:
  "bar" => 42.0
  "baz" => 17.0
  "foo" => 0.0

用法二

merge(a::NamedTuple, bs::NamedTuple...)

通過以left-associative 方式合並兩個或多個現有元組來構造一個新的命名元組。合並在命名元組對之間從左到右進行,因此最左邊和最右邊命名元組中存在的字段順序與它們在最左邊命名元組中的位置相同。但是,值取自包含該字段的最右側命名元組中的匹配字段。僅出現在一對中最右邊的命名元組中的字段被附加在末尾。當僅提供單個命名元組時實現回退,簽名為 merge(a::NamedTuple)

Julia 1.1

合並 3 個或更多 NamedTuple 至少需要 Julia 1.1。

例子

julia> merge((a=1, b=2, c=3), (b=4, d=5))
(a = 1, b = 4, c = 3, d = 5)
julia> merge((a=1, b=2), (b=3, c=(d=1,)), (c=(d=2,),))
(a = 1, b = 3, c = (d = 2,))

用法三

merge(a::NamedTuple, iterable)

將鍵值對的可迭代解釋為命名元組,並執行合並。

julia> merge((a=1, b=2, c=3), [:b=>4, :d=>5])
(a = 1, b = 4, c = 3, d = 5)

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.merge — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。