Julia 预先分配一份或多份口述

Julia 预先分配一份或多份口述,julia,Julia,当我在下面的函数上运行@code_warntype时(粗体显示的是可能引起危险信号的表达式) 我看到以下警告以红色突出显示: Body::Tuple{Dict{Any,Any},Union{DataFrame,DataFrameRow{DataFrame,Index}},Any,Any}. 在这种情况下,假设我知道将填充dict的数据长度,如何预先分配dict的类型?您没有提供最简单的工作示例。 看看下面的代码。请注意,出于效率原因 建议使用Symbola键,而不是String specie

当我在下面的函数上运行@code_warntype时(粗体显示的是可能引起危险信号的表达式)

我看到以下警告以红色突出显示:

Body::Tuple{Dict{Any,Any},Union{DataFrame,DataFrameRow{DataFrame,Index}},Any,Any}. 

在这种情况下,假设我知道将填充dict的数据长度,如何预先分配dict的类型?

您没有提供最简单的工作示例。 看看下面的代码。请注意,出于效率原因 建议使用
Symbol
a键,而不是
String

species = Dict{Symbol,Dict{Symbol,Float64}}()
group = get!(()->Dict{Symbol,Float64}(),species,Symbol("audi"))
group[Symbol("a4")]=10.5
group[Symbol("a6")]=9.5

现在打印输出:

julia> println(species)
Dict(:audi=>Dict(:a6=>9.5,:a4=>10.5))
julia> println(species)
Dict(:audi=>Dict(:a6=>9.5,:a4=>10.5))