在Julia中查找数组中某个项的第一个索引的最简单方法是什么?
有findfirst
和更常见的findnext
,它们允许您从中断的地方重新启动。这两种方法的一个优点是,您不需要分配输出数组,因此性能会更好(如果您愿意的话)。
此外,请记住(与您可能习惯的其他一些语言不同)Julia的循环很快,因此您可以自己编写这样简单的函数。要了解我的意思,请查看findnext
(在base/array.jl
中)的实现;它没有什么"花哨"的地方,但您可以获得与在C中实现它一样好的性能。
您可以使用findfirst
如下:
A = [1, 4, 2, 3, 2]
function myCondition(y)
return 2 == y
end
println( findfirst(myCondition, A) )
# output: 3
您可以在这个链接中阅读更多