在Julia中初始化一个空数组,其中包含大量数组

时间:2019-08-12 02:08:12

标签: 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个数组?

1 个答案:

答案 0 :(得分:1)

取决于您实际想要做什么的一些示例:

一组空数组:

  let productList = Object.keys(props.products)
    .filter(x => props.products[x].quantity > 0)
    .map(x => (
      <Product
        description={props.products[x].description}
        price={props.products[x].price}
        add={() => {
          props.add(x);
        }}
        productCode={x}
        image={apple}
      />
    ));

大小为julia> [[Float64[] for a in 1:3] for b in 1:6] 6-element Array{Array{Array{Float64,1},1},1}: [[], [], []] [[], [], []] [[], [], []] [[], [], []] [[], [], []] [[], [], []] 的未初始化三维数组(也许具有3D数组实际上比数组数组更方便-取决于您的用例):

6x3x2

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

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