首页 > 解决方案 > Julia 中不同大小的数组列表

问题描述

我正在尝试在 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 中完成它?

标签: arrayslistjulia

解决方案


您的声明:

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}

我们在这里使用两个功能:

  1. Vector{Float64}是 的简写Array{Float64, 1}
  2. 如果您使用[]语法创建一个空向量,您可以在其前面添加一个类型的元素,就像我在示例中所做的那样。

推荐阅读