如何在julia中声明包含数组的数组?
我有a=Int32[]
创建了一个空的Int32数组(当然),但是我想稍后构建像
if ...
push!(a, [r,s]) # (*)
...
其中r
和s
是整数。我尝试a=Int32[Int32[]]
但是在做(*)时它不起作用。我没有a
的具体形状,所以我需要声明它没有这个限制。
答案 0 :(得分:9)
Int32[]
创建一个Vector{Int32}
,其Vector
元素类型为Int32
。您需要Vector
元素类型Vector{Int32}
,因此您可以使用Vector{Vector{Int32}}()
或Vector{Int32}[]
。请注意,Vector{T}
是Array{T,1}
的别名,也就是元素类型Array
和1维的T
,所以当Julia打印出类型时,它就赢了使用Vector
一词。
julia> v=Vector{Vector{Int32}}()
0-element Array{Array{Int32,1},1}
julia> push!(v,[1,2,3])
1-element Array{Array{Int32,1},1}:
Int32[1, 2, 3]
或
julia> x=Vector{Int32}[]
0-element Array{Array{Int32,1},1}
julia> push!(x,[4,5,6])
1-element Array{Array{Int32,1},1}:
Int32[4, 5, 6]