我正在过渡到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函数等效?
答案 0 :(得分:7)
使用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