2017-09-25 21 views
0

あるベクトルの要素が別のベクトルに含まれているかどうかを確認したいと思います。 Rには演算子%in%があります。Julia:あるベクトルの要素が別のベクトル内にあるかどうかを調べる

例えばオペレータは、次の操作を行います:

[1,3,5,7,9,4] %in% [1,2,4,5,8,9,10,11] 
# [true,false,true,false,true,true] 

私は簡単にのみ、私は車輪の再発明をしないようにしようとしている自分を書くことができます。

答えて

1

類似の機能を持つ組み込み関数がいくつかあります。 indexinbのインデックスを返します。ここにはaの要素があります(存在しない場合は0 - これはRのmatchに似ています)。 setdiffaの要素を返しますが、bには含まれていません。これは、あなたが望むことを実行することができる可能性が高いです - 一般的に余分な、不要な割り当てを作成するので、フィルタリングのための一時的なブール配列を構築することは、Rのようにju​​liaではあまり理想的ではありません。おそらく

2

とても素敵ではないが、あなたは何ができる:

julia> [1,3,5,7,9,4] .∈ [[1,2,4,5,8,9,10,11]] 
6-element BitArray{1}: 
    true 
false 
    true 
false 
    true 
    true 
+0

えっ、余分な括弧付きの素敵な放送トリック拡大すると2番目の配列は要素のように! –

1

あなたは無名関数を使用できます。map(x -> x in [1,2,4,5,8,9,10,11] ,[1,3,5,7,9,4])
か理解:[x in [1,2,4,5,8,9,10,11] for x = [1,3,5,7,9,4]]

関連する問題