2

使用 NumPy,我可以在不知道原始数组维度的情况下从多维数组访问子维数组:

import numpy as np
a = np.zeros((2, 3, 4))  # A 2-by-3-by-4 array of zeros
a[0]  # A 3-by-4 array of zeros

但是对于朱莉娅,我不知所措。看来我必须知道a这样做的维度:

a = zeros(2, 3, 4)  # A 2-by-3-by-4 array of zeros
a[1, :, :]  # A 3-by-4 array of zeros

如果我知道 的维度,我该怎么办a

4

2 回答 2

3

selectdim提供您正在寻找的内容的视图,

a = zeros(2, 3, 4)
selectdim(a,1,1)
于 2022-02-20T11:09:49.660 回答
1

如果要按顺序遍历每个“子维数组”,还可以使用eachslice

julia> a = reshape(1:24, (2, 3, 4));

julia> eachslice(a, dims = 1) |> first
3×4 view(reshape(::UnitRange{Int64}, 2, 3, 4), 1, :, :) with eltype Int64:
 1   7  13  19
 3   9  15  21
 5  11  17  23

julia> for a2dims in eachslice(a, dims = 1)
         @show size(a2dims)
       end
size(a2dims) = (3, 4)
size(a2dims) = (3, 4)


于 2022-02-20T11:17:46.963 回答