Julia键值对

Julia键值对

键值对Pair类型用于建立两个对象的映射/关联性关系,是一种参数化的不可变复合类型,一旦构造不可更新修改。其内部的基本结构是:

Pair{A, B} <: Any
  first::A
  second::B

该类型有两个成员,分别是first与second;其中A与B是类型参数,分别控制键与值的类型。

通过构造函数可以很容易得到Pair对象,例如:

julia> Pair(1, 3.2)
1=>3.2

julia> typeof(ans)
Pair{Int64, Float64}

julia> Pair{Float64, Int32}(Int64(1), Int64(5))
1.0=>5

julia> typeof(ans)
Pair{Float64, Int32}

也可以通过特有的语法Key=>Value创建Pair对象,例如:

julia> a = 1=>3.2
1=>3.2

julia> b = 1.0=>5
1.0=>5

julia> c = Int32(1) => Float32(2.3)
1=>2.3f0

julia> typeof(c)
Pair{Int32, Float32}

对于已有的Pair对象,可以使用成员访问符获得其中的Key与Value值,例如:
Julia键值对

或者使用索引进行键或值的访问:

julia> a[1]      # 索引1对应键
1

julia> a[2]      # 索引2对应值
3.2

julia> a[3]      # 其他索引啥都不对应,报错
ERROR: BoundsError: attempt to access 1 => 3.2
  at index [3]

但若试图修改,则会报错,例如:
Julia键值对

另外,Pair的对象可以转换到元组类型,例如:

julia> Tuple(b)
(1.0, 5)

julia> Tuple(a)
(1, 3.2)

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!