如何在 Julia 中删除数组数组中的数组
How to delete an array in an array of arrays in Julia
我创建了包含三个二维数组的 3D 数组 me
。我想删除例如第二个数组 [:,:,2]
并将结果复制到一个名为 you
.
的新数组
我试过 deleteat!(me, :,:,2)
但它给了我一个错误。
me = reshape(1:(5*5*3), 5, 5, 3)
首先,3张量不是数组的数组,Julia有内置的N维数组支持。
既然您已经认识到不复制就无法做到这一点(这正是 deleteat!()
不起作用的原因),最简单的方法是:
julia> me[:,:,[1,3]]
5×5×2 Array{Int64, 3}:
[:, :, 1] =
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
[:, :, 2] =
51 56 61 66 71
52 57 62 67 72
53 58 63 68 73
54 59 64 69 74
55 60 65 70 75
系统排除索引的其他方法可以在以下位置找到:
我创建了包含三个二维数组的 3D 数组 me
。我想删除例如第二个数组 [:,:,2]
并将结果复制到一个名为 you
.
我试过 deleteat!(me, :,:,2)
但它给了我一个错误。
me = reshape(1:(5*5*3), 5, 5, 3)
首先,3张量不是数组的数组,Julia有内置的N维数组支持。
既然您已经认识到不复制就无法做到这一点(这正是 deleteat!()
不起作用的原因),最简单的方法是:
julia> me[:,:,[1,3]]
5×5×2 Array{Int64, 3}:
[:, :, 1] =
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
[:, :, 2] =
51 56 61 66 71
52 57 62 67 72
53 58 63 68 73
54 59 64 69 74
55 60 65 70 75
系统排除索引的其他方法可以在以下位置找到: