在Julia中创建一个数组数组

tea*_*m17 2 arrays data-structures julia

我正在尝试在Julia中创建一个特殊类型的数组.

例如,我想创建一个保存整数值列表(数组)的列表.

我需要知道如何:

  1. 初始化数组的(空)列表
  2. 使用append!/ push!将特定数据结构的数组(在本例中为整数数组)添加到列表中

我认为这是一个非常简单的问题(可能在文档中的某处回答),但我之前的研究让我越来越困惑.

是否有区别:

List = Int64[]
Run Code Online (Sandbox Code Playgroud)

List = Array{Int64,1}
Run Code Online (Sandbox Code Playgroud)

这样的事情对我不起作用:

ListOfList = Int64[Int64]
ListOfList = Array{Int64[],1}
ListOfList = Array{Array{Int64,1},1}
Run Code Online (Sandbox Code Playgroud)

Ale*_* A. 6

您可以像这样构造数组数组:

# Initialize an array that can contain any values
listOfLists = Any[]

# Push some arrays into the array
push!(listOfLists, [1, 2, 3])
push!(listOfLists, [4, 5])
push!(listOfLists, ["Julia", "rocks"])

# You now have an array containing arrays
listOfLists
# 3-element Array{Any,1}:
#  [1,2,3]                     
#  [4,5]                       
#  ASCIIString["Julia","rocks"]
Run Code Online (Sandbox Code Playgroud)

要回答有关初始化差异的问题,请考虑以下事项.

List = Int64[]
typeof(List)
# Array{Int64,1}

List = Array{Int64,1}
typeof(List)
# DataType
Run Code Online (Sandbox Code Playgroud)

前者实际上是初始化List为包含整数值的1维数组,而后者则设置List类型 Array{Int64,1}.