arrays - 在 Julia 中初始化一个包含大量数组的空数组

标签 arrays initialization julia

我试图在 Julia 1.1 中用 6 个元素初始化一个空数组,其中第 i 元素由 1000 个数组组成,这些数组将被一个循环填充。例如,如果第 i 元素包含 3 个数组,我可以执行 fill([Array{Float64,1},Array{Float64,1} ,Array{Float64,1}] ,6,1)。但是,如何在不复制 Array{Float64,1} 1000 次的情况下获得空的 1000 个数组?

最佳答案

一些例子取决于你实际想做什么:

一组空数组:

julia> [[Float64[] for a in 1:3] for b in 1:6]
6-element Array{Array{Array{Float64,1},1},1}:
 [[], [], []]
 [[], [], []]
 [[], [], []]
 [[], [], []]
 [[], [], []]
 [[], [], []]

大小为 6x3x2 的未初始化三维数组(也许拥有 3D 数组实际上比数组的数组的数组更方便 - 取决于您的用例):

julia> Array{Float64,3}(undef, 6, 3, 2)
6×3×2 Array{Float64,3}:
[:, :, 1] =
 9.00033e-316  1.52477e-315  1.52473e-315
 7.95655e-316  1.52477e-315  1.52473e-315
 1.52474e-315  8.18796e-316  1.52477e-315
 7.95655e-316  1.52477e-315  1.52474e-315
 1.52474e-315  1.52473e-315  1.52474e-315
 8.03142e-316  1.52473e-315  1.52477e-315

[:, :, 2] =
 7.97808e-316  1.52473e-315  0.0
 8.07774e-316  1.52474e-315  0.0
 1.52474e-315  1.52473e-315  0.0
 1.52474e-315  1.52473e-315  0.0
 7.96305e-316  0.0           0.0
 1.52473e-315  0.0           0.0

已分配的未初始化数组集:

julia> [[Vector{Float64}(undef,2) for a in 1:3] for b in 1:6]
6-element Array{Array{Array{Float64,1},1},1}:
 [[1.60704e-315, 1.60693e-315], [5.93041e-316, 1.69135e-315], [1.69002e-315, 1.69135e-315]]
 [[5.93223e-316, 5.93223e-316], [5.92882e-316, 4.94066e-324], [5.93223e-316, 5.93223e-316]]
 [[5.92884e-316, 2.122e-314], [5.92883e-316, 1.60853e-315], [5.93041e-316, 5.92887e-316]]
 [[1.69002e-315, 5.92885e-316], [1.60705e-315, 1.60693e-315], [5.93041e-316, 1.69136e-315]]
 [[1.69002e-315, 1.69136e-315], [5.93223e-316, 5.93223e-316], [5.92882e-316, 5.93043e-316]]
 [[5.93223e-316, 5.93223e-316], [5.92884e-316, 5.93043e-316], [5.92883e-316, 5.93223e-316]]

关于arrays - 在 Julia 中初始化一个包含大量数组的空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57454952/

相关文章:

types - 获取参数类型的参数

julia - 尝试从 Julia 中的 Arrow Dataframe 获取行时出现 MethodError

PHP - undefined offset : 0

c - 初始化多维数组 : {0} versus {{{0}}}

arrays - 快速切换转换时出错

c++ - 正在初始化.. 哪个更有效率?

c++ - 对象删除 : use parent or not

julia - 如何删除 Julia 范围结构中的选定元素?

c++ ifstream读取无法存储到短数组缓冲区中

javascript - AsyncStorage React Native 保存数组