当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Julia findall方法用法及代码示例


用法一

findall(A)

返回 true 索引的向量 IA 的键。如果 A 没有这样的元素,则返回一个空数组。要搜索其他类型的值,请将谓词作为第一个参数传递。

索引或键的类型与 keys(A) pairs(A) 返回的类型相同。

另请参阅: findfirst searchsorted

例子

julia> A = [true, false, false, true]
4-element Vector{Bool}:
 1
 0
 0
 1

julia> findall(A)
2-element Vector{Int64}:
 1
 4

julia> A = [true false; false true]
2×2 Matrix{Bool}:
 1  0
 0  1

julia> findall(A)
2-element Vector{CartesianIndex{2}}:
 CartesianIndex(1, 1)
 CartesianIndex(2, 2)

julia> findall(falses(3))
Int64[]

用法二

findall(f::Function, A)

返回 A 的索引或键的向量 I ,其中 f(A[I]) 返回 true 。如果 A 没有这样的元素,则返回一个空数组。

索引或键的类型与 keys(A) pairs(A) 返回的类型相同。

例子

julia> x = [1, 3, 4]
3-element Vector{Int64}:
 1
 3
 4

julia> findall(isodd, x)
2-element Vector{Int64}:
 1
 2

julia> A = [1 2 0; 3 4 0]
2×3 Matrix{Int64}:
 1  2  0
 3  4  0
julia> findall(isodd, A)
2-element Vector{CartesianIndex{2}}:
 CartesianIndex(1, 1)
 CartesianIndex(2, 1)

julia> findall(!iszero, A)
4-element Vector{CartesianIndex{2}}:
 CartesianIndex(1, 1)
 CartesianIndex(2, 1)
 CartesianIndex(1, 2)
 CartesianIndex(2, 2)

julia> d = Dict(:A => 10, :B => -1, :C => 0)
Dict{Symbol, Int64} with 3 entries:
  :A => 10
  :B => -1
  :C => 0

julia> findall(x -> x >= 0, d)
2-element Vector{Symbol}:
 :A
 :C

相关用法


注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.findall — Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。