从Julia数组中进行多项选择

Han*_*her 5 julia

在Julia中,有没有办法从类似于numpy的高级索引的多维数组中检索包含多个元素的向量?例如,从这个2D数组:

genconv = reshape([6,9,7,1,4,2,3,2,0,9,10,8,7,8,5], 5, 3)
genconv[[1,2,3],[2,3,1]]
Run Code Online (Sandbox Code Playgroud)

这导致3x3阵列,而不是矢量: 屏幕截图

Rez*_*lan 5

通过一种方式获取元素colrow索引是使用sub2ind函数:

getindex(genconv,sub2ind(size(genconv),[1,2,3],[2,3,1]))

编辑

已经@ user3580870评论过了

getindex(genconv,sub2ind(size(genconv),[1,2,3],[2,3,1])) 等于 genconv[sub2ind(size(genconv),[1,2,3],[2,3,1])]

我得到的结果getindex数组理解语法之间的效率没有区别.

  • 怎么样的[genconv [i,j] for(i,j)in zip([1,2,3],[2,3,1])]`?这似乎更直接一点. (3认同)
  • 又名`genconv [sub2ind(size(genconv),[1,2,3],[2,3,1])]` (2认同)