julia - 从键和值数组创建字典

标签 julia

我有:

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

我想要类似的东西:
somedic = ["a"=>1, "b"=>42, "j"=>9]

IE。
Dict{String,Int64} with 3 entries:
"j" => 9
"b" => 42
"a" => 1

但是怎么样??

最佳答案

像这样:

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

返回的 Dict 类型为 Dict{String, Int} (即 Dict{String, Int64} 在我的系统上),因为键是 String 的向量s 和 vals 是 Int 的向量s。

如果您希望 Dict 具有较少的特定类型,例如AbstractStringReal , 你可以做:
Dict{AbstractString, Real}(zip(keys, vals))

如果您在单个数组中有对:
dpairs = ["a", 1, "b", 42, "j", 9]

你可以做:
Dict(dpairs[i]=>dpairs[i+1] for i in 1:2:length(dpairs))

与上述相同的语法适用于获取不太具体的类型,例如:
Dict{Any, Number}(dpairs[i]=>dpairs[i+1] for i in 1:2:length(dpairs))

关于julia - 从键和值数组创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25896698/

相关文章:

Julia 内存

python - Julia 中使用 SymPy 进行多重替换

matplotlib - 当 DataFrame-Column 缺少值时 PyPlot 会抛出错误

julia - 删除 Julia 中的方法

types - Julia v0.6 构造函数和 'new' 关键字

c - 关于使用 Julia 包装 C 代码的调试技巧

macros - 将表达式插入到引号内的表达式中

dataframe - Julia DataFrame 上的多列选择

arrays - 4D张量旋转的优化

python 3 : read Julia's JLD format