【问题标题】:Find first index of an item in an array in Julia在Julia中查找数组中项目的第一个索引
【发布时间】:2013-11-20 17:04:11
【问题描述】:

在 Julia 中查找数组中某个项目的第一个索引的最简单方法是什么?

【问题讨论】:

    标签: arrays julia


    【解决方案1】:

    findfirst 和更普遍的findnext,可以让您从中断的地方重新开始。这两者的一个优点是您不需要分配输出数组,因此性能会更好(如果您关心的话)。

    另外,请记住(与您可能习惯的其他一些语言不同)Julia 的循环速度很快,因此您始终可以自己编写这些简单的函数。要明白我的意思,看一下findnext(在base/array.jl)的实现;它没有什么“花哨”的地方,但您获得的性能与您在 C 中实现它所获得的性能一样好。

    【讨论】:

    【解决方案2】:

    您可以按如下方式使用‍‍findfirst

    A = [1, 4, 2, 3, 2]
    
    function myCondition(y)
        return 2 == y
    end
    
    println( findfirst(myCondition, A) )
    
    # output: 3
    

    你可以在Link阅读更多内容

    【讨论】:

    • 根据文档,您可以使用‍‍isequal(2)而不是myCondition,但我得到错误:no method matching isequal(::Int64)
    猜你喜欢
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 2017-12-27
    • 2020-05-07
    • 2021-04-14
    • 1970-01-01
    相关资源
    最近更新 更多