當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。