我正在尝试在 Julia 函数中返回不同大小数组的数组。
在函数中,数组将被初始化,并且在循环中,它们将具有元素,即其他数组,在每次迭代时被推送到数组的末尾。但我收到以下错误:
MethodError: no method matching push!(::Type{Array{Array{Float64,1},1}}, ::Array{Float64,1})
我正在初始化一个数组数组:
x = Array{Array{Float64,1},1}
但是当一推!其他数组,我收到错误:
push!(x, y)
在 python 中,我只是将新数组附加到列表中并返回列表,我如何在 Julia 中完成它?
最佳答案
你的声明:
julia> x = Array{Array{Float64,1},1}
Array{Array{Float64,1},1}
分配给
x
类型的名称。要创建此类型的实例,请添加
()
之后:julia> x = Array{Array{Float64,1},1}()
0-element Array{Array{Float64,1},1}
现在你可以
push!
给它:julia> push!(x, [2.5, 3.5])
1-element Array{Array{Float64,1},1}:
[2.5, 3.5]
请注意,您可以发起
x
空向量接受向量 Float64
通过以下方式:julia> x = Vector{Float64}[]
0-element Array{Array{Float64,1},1}
我们在这里使用两个功能:
Vector{Float64}
是 Array{Float64, 1}
的简写. []
创建一个空向量语法,您可以像我在示例中所做的那样,在其前面添加其元素的类型。 关于arrays - Julia 中不同大小的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61578056/