查找给定列的第一个匹配项

hr0*_*r0m 1 multidimensional-array julia

在文档中,我找到了一个函数findfirst,它能够返回第一个元素的索引,它等于给定的索引.

在我的情况下,我有一个矢量(或一维数组),我想找到第一列,它等于矢量.

我知道如何以"硬"的方式做到这一点:findnext迭代第一行,然后检查整个列.但是,有一种更聪明的方式,这对我来说并不明显吗?

Dan*_*etz 5

假设m是你的矩阵,并且v是向量.然后:

findfirst(c->view(m,:,c)==v,1:size(m,2))
Run Code Online (Sandbox Code Playgroud)

如果0找不到向量则返回,如果找到则返回列号.转向基本元素访问可能会更快,但这也应该可以解决问题.