Julia 从键和值数组创建字典

Julia 从键和值数组创建字典,julia,Julia,我有: 我想要像这样的东西: keys = ["a", "b", "j"] vals = [1, 42, 9] i、 e 但是怎么会这样呢 Dict{String,Int64} with 3 entries: "j" => 9 "b" => 42 "a" => 1 返回的Dict类型为Dict{String,Int}(即在我的系统上为Dict{String,Int64}),因为键是Strings的向量,VAL是Ints的向量 如果您希望Dict具有不太特定的类型,例如Abs

我有:

我想要像这样的东西:

keys = ["a", "b", "j"]
vals = [1, 42, 9]
i、 e

但是怎么会这样呢

Dict{String,Int64} with 3 entries:
"j" => 9
"b" => 42
"a" => 1
返回的Dict类型为
Dict{String,Int}
(即在我的系统上为
Dict{String,Int64}
),因为键是
String
s的向量,VAL是
Int
s的向量

如果您希望Dict具有不太特定的类型,例如
AbstractString
Real
,可以执行以下操作:

keys = ["a", "b", "j"]
vals = [1, 42, 9]
yourdic = Dict(zip(keys, vals))
dpairs = ["a", 1, "b", 42, "j", 9]

如果在单个数组中有对:

Dict{AbstractString, Real}(zip(keys, vals))
你可以做:

keys = ["a", "b", "j"]
vals = [1, 42, 9]
yourdic = Dict(zip(keys, vals))
dpairs = ["a", 1, "b", 42, "j", 9]
与上述相同的语法适用于获取不太特定的类型,例如:

Dict(dpairs[i]=>dpairs[i+1] for i in 1:2:length(dpairs))
我不知道Julia——但是如果Julia有一个
zip
,那么这个应该可以:
dict(zip(key,vals))


(坦白:在python中就是这样做的)。

我认为朱利安的方法是使用向量化的
=>
版本

Dict{Any, Number}(dpairs[i]=>dpairs[i+1] for i in 1:2:length(dpairs))
这相当于使用
广播(=>,x,y)


您能用zip更新您的答案吗?我收到了不赞成的警告<代码>警告:Dict{K,V}(ks::AbstractArray{K},vs::AbstractArray{V})已被弃用,请改用Dict{K,V}(zip(ks,vs))。