【发布时间】:2014-07-22 18:59:40
【问题描述】:
我想遍历一个字典集合并评估一个函数,该函数一次接收一个字典。在 R-speak 中,我有一个列表列表,并且想要为每个子列表应用我的函数 - 它将列表作为输入:
function dfun(d::Dict)
println(collect(keys(d)))
println(collect(values(d)))
end
# my dict of dicts
d = [1 => ["a" => 1.1], 2 => ["b" => 3.12]]
[2=>["b"=>3.12],1=>["a"=>1.1]]
# works?
julia> dfun(d[1])
ASCIIString["a"]
[1.1]
# maps?
map(dfun,d)
ERROR: no method dfun((Int64,Dict{ASCIIString,Float64}))
in map at abstractarray.jl:1183
这样做的正确方法是什么?我很惊讶它将 (Int64,Dict{ASCIIString,Float64}) 发送到功能,而不仅仅是 Dict{ASCIIString,Float64}
(很抱歉交叉发布 - 但我认为 SO 搜索起来要好得多......)
【问题讨论】:
标签: dictionary julia