julia で整数の Array に、任意の整数が含まれるか調べる方法
julia で整数の Array に、任意の整数が含まれるか調べてみます。
- in を使う方法
- ∈ (\in
) を使う方法 - == と sum を使う方法
思いつくのは、この位でしょうか。
in を使う方法
julia> A = [1 2 ; 3 4] 2×2 Array{Int64,2}: 1 2 3 4 julia> 1 in A true julia> in(1, A) true julia> in(A, 1) false julia> in.(1,A) 2×2 BitArray{2}: true false false false
Int64 の "1" の代り 1x1 の Array であるところの [1] を使うと上手くできません。
julia> x = [1] 1-element Array{Int64,1}: 1 julia> x in A false julia> x[1] in A true
∈ (\in) を使う方法
"\in" と入力して直後にタブキーを押すと変換されます。使い方は in 同じです。
julia> 1∈A true julia> A∈1 false
== と sum を使う方法
ちょっと邪道かもしれませんが、出来ないことはありません。ただし true, false の代わりに 1以上 , 0 が出力になります。ブリーアン型の Array になる時は、この方法が使えます。
julia> sum( true, false) ERROR: MethodError: objects of type Bool are not callable julia> sum( [true, false]) 1 julia> sum( [true, false, true]) 2
というのを使います。"1.==A" ではなく、"1 .=A" です。1の直後にスペースが必要です。
julia> sum(1 .==A) 2