一、Array相差一个[],差异巨大!
julia> t1= Array{String,1} #不能用push!
Array{String,1}
julia> typeof(t1)
DataType
julia> t2= Array{String,1}[] #可以push!(t2,["aaa"])
0-element Array{Array{String,1},1}
julia> typeof(t2)
Array{Array{String,1},1}
julia> ts =String[] # 可以push!(ts,"aaa")
0-element Array{String,1}
二、Dict() 的初始化
首先要,提一下,Dict()的初始化问题,这个很容易搞错。
julia> a=Dict{Int,Int}()
Dict{Int64,Int64}()
julia> b= (Int=>Int)[]
Dict{Int64,Int64}()
# 变种1
julia> c=(Int=>Dict{Int, Int})[ ]
Dict{Int64,Dict{Int64,Int64}}()
# 变种2
julia> d=Dict{Int64,Dict{Int64,Int64}}()
Dict{Int64,Dict{Int64,Int64}}()
注意:
# [] 表示一个空字典数据结构,此时用push!会有问题!要换成()
julia> dd =Dict{String,Array{String,1}}[] 0-element Array{Dict{String,Array{String,1}},1}
julia> push!(dd,"aa",[AA])
ErrorException("AA not defined")
julia> push!(dd,"aa",["AA"])
MethodError(push!,([],"aa",["AA"]))
要生成简单类型的
julia> k=Dict{String,Float64}()
Dict{String,Float64}()
要生成一个复合类型的:类似泛型
julia> d=Dict{String,Array{kBarData,1}}()
Dict{String,Array{kBarData,1}}()
julia> dict=["son"=>6]
julia>push!(dict,"father",7)
["son"=>6,"father"=>7]
# collect(values(d)) #d:dict type
julia> collect(keys(Data))
9-element Array{String,1}:
"DLm01."
......
三、 array
和Dict不同,[]可以用push!
julia> f=String[]
0-element Array{String,1}
julia> push!(f,"a")
1-element Array{String,1}:
"a"
Julia:关于push 与 Array 和Dict 数据结构
最新推荐文章于 2024-05-09 11:12:04 发布