如何在 Julia 中删除数组数组中的数组

sba*_*bac 3 julia

me我创建了包含三个 2D 数组的3D 数组。例如,我想删除第二个数组[:,:,2]并将结果复制到名为 的新数组you

我尝试过deleteat!(me, :,:,2),但它给了我一个错误。

me = reshape(1:(5*5*3), 5, 5, 3)
Run Code Online (Sandbox Code Playgroud)

jli*_*ing 6

首先,3维张量不是数组的数组,Julia有内置的N维数组支持。

\n

既然您已经认识到如果不复制就无法做到这一点(确切地说为什么deleteat!()不起作用),最简单的方法是:

\n
julia> me[:,:,[1,3]]\n5\xc3\x975\xc3\x972 Array{Int64, 3}:\n[:, :, 1] =\n 1   6  11  16  21\n 2   7  12  17  22\n 3   8  13  18  23\n 4   9  14  19  24\n 5  10  15  20  25\n\n[:, :, 2] =\n 51  56  61  66  71\n 52  57  62  67  72\n 53  58  63  68  73\n 54  59  64  69  74\n 55  60  65  70  75\n
Run Code Online (Sandbox Code Playgroud)\n

系统排除索引的其他方法可以在以下位置找到:\n根据索引排除数组元素 (Julia)

\n