Julia:关于push 与 Array 和Dict 数据结构

一、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"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值