在Julia中找到数组中某个项的第一个索引的最简单方法是什么?
答案 0 :(得分:22)
有findfirst
,更常见的是findnext
,可让您重新启动。这两者的一个优点是您不需要分配输出数组,因此性能会更好(如果您愿意)。
另外,请记住(与您可能习惯的其他语言不同)Julia的循环很快,因此您可以自己编写这些简单的函数。要了解我的意思,请查看findnext
(base/array.jl
)的实施情况;没有什么“花哨”的东西,但是如果你用C语言实现的话,你的表现就和你得到的一样好。
答案 1 :(得分:1)
您可以使用 findfirst
如下:
A = [1, 4, 2, 3, 2]
function myCondition(y)
return 2 == y
end
println( findfirst(myCondition, A) )
# output: 3
您可以在此Link
中阅读更多内容