首页 > 解决方案 > 在 Julia 1.0.2 中查找函数

问题描述

我正在过渡到 Julia 1.0.2,我意识到 find 函数没有定义。在以前的版本(Julia 0.6)中,我可以写

find(x -> x<0, my_var)

为了得到名为my_var 的数组的负元素。当我在 Julia 1.0.2 中运行相同的代码时,出现以下错误:

UndefVarError: find not defined

我找不到 find 函数是否以不同的名称实现,或者它是否已被删除。是否有任何 Julia 1.0.2 函数等效于以前 Julia 版本中的 find 函数?

标签: julia

解决方案


使用filter()

julia> filter(x -> x<0, -5:5)
5-element Array{Int64,1}:
 -5
 -4
 -3
 -2
 -1

另一种选择是用于findall()获取元素的索引:

julia> indices = findall(x -> x<0, -5:5)
5-element Array{Int64,1}:
 1
 2
 3
 4
 5

您可以使用getindex()来获取实际值,例如:

julia> getindex(-5:5,indices)
5-element Array{Int64,1}:
 -5
 -4
 -3
 -2
 -1

推荐阅读