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


Julia in用法及代码示例


用法:

in(item, collection) -> Bool
∈(item, collection) -> Bool

确定一个项目是否在给定的集合中,在某种意义上它是 == 到通过迭代集合生成的值之一。返回 Bool 值,除非 item missing collection 包含 missing 但不包含 item ,在这种情况下返回 missing ( three-valued logic ,匹配 any 的行为和 == )。

一些集合遵循稍微不同的定义。例如, Set s 检查项目 isequal 是否为元素之一。 Dict 查找 key=>value 对,并使用 isequal 比较 key 。要测试字典中是否存在某个键,请使用 haskey k in keys(dict) 。对于这些集合,结果始终是 Bool 而不是 missing

要确定某个项目是否不在给定集合中,请参阅 :∉ 。您也可以通过执行!(a in b) 来否定in,这在逻辑上类似于"not in"。

当使用 in.(items, collection)items .∈ collection 进行广播时,itemcollection 都会被广播,这通常不是预期的。例如,如果两个参数都是向量(并且维度匹配),则结果是一个向量,指示集合 items 中的每个值是否是 in 中对应位置的值 collection 。要获取指示 items 中的每个值是否在 collection 中的向量,请将 collection 包装在一个元组或 Ref 中,如下所示:in.(items, Ref(collection))items .∈ Ref(collection)

例子

julia> a = 1:3:20
1:3:19

julia> 4 in a
true

julia> 5 in a
false

julia> missing in [1, 2]
missing

julia> 1 in [2, missing]
missing

julia> 1 in [1, missing]
true

julia> missing in Set([1, 2])
false

julia> !(21 in a)
true

julia> !(19 in a)
false

julia> [1, 2] .∈ [2, 3]
2-element BitVector:
 0
 0

julia> [1, 2] .∈ ([2, 3],)
2-element BitVector:
 0
 1

另请参阅: insorted contains occursin issubset

相关用法


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