在 Julia 中查找 Vector 中项目的索引

DVN*_*old 1 julia

如果我有一个字符串向量,例如: ["big", "friendly", "giant"],我怎样才能获得"friendly"(2)的索引?

小智 5

您可以使用该findfirst函数(及其朋友findlastfindnextfindprevfindall)解决此类问题。

julia> x = ["big", "friendly", "giant"]
julia> findfirst(item -> item == "friendly", x)
2
Run Code Online (Sandbox Code Playgroud)

这使用了一个匿名函数item -> item == "friendly"来测试数组中的每个项目。如果函数返回true,则返回该项目的索引。你可以把它写得更简洁一点

julia> findfirst(==("friendly"), x)
2
Run Code Online (Sandbox Code Playgroud)

如果未找到该项目,nothing则返回。

  • 但它要慢得多并分配内存(临时 BitArray)。 (6认同)