Juliaで行こう! 〜探して!編〜
仕込み期間
どうしても、仕込み期間というか仕込み時間というのが必要で、ナカナカ毎日とはいかないものです。
今回は関数一つだけ。仕込み途中で、へぇー、と感心したので、それを書こうかと。多分、Pythonでも同様のことはできるのだろうえけど、HotなPandas使って、ゴリゴリっていうので、やってないので。逆に、Juliaで初っていうことになってるのですね。
Julia 1.0.1
Conflict問題はそのままで、実作業的には、1.0.1ではなく、1.1.0-DEVを使用しています。Versionを記載したのは、0.7を含む1.x系で、BaseのModuleの関数が、いろいろと変わってまして、xxfirstというものに、頻繁に使用しそうなものが変わっています。今回紹介する関数もその流れにあるものだったします。
探せ!
いきなり、参考Codeを以下に記述します。
julia> x = [ 1, 2, 3, 4, 5, 6]
6-element Array{Int64,1}:
...
julia> y = [ 1 2; 3 4; 5 6;]
3×2 Array{Int64,2}:
...
julia> z = ["A" "B"; "B" "C"; "C" "A";]
3×2 Array{String,2}:
"A" "B"
"B" "C"
"C" "A"
3つ程、Arrayを用意しました。2つ目と3つ目はMatrixになってるものです。
julia> findall(u->u==2, x)
1-element Array{Int64,1}:
2
julia> findall(u->u==2, y)
1-element Array{CartesianIndex{2},1}:
CartesianIndex(1, 2)
julia> findall(u->u=="A", z)
2-element Array{CartesianIndex{2},1}:
CartesianIndex(1, 1)
CartesianIndex(3, 2)
julia> findall(u->u>=2, y)
5-element Array{CartesianIndex{2},1}:
CartesianIndex(2, 1)
CartesianIndex(3, 1)
CartesianIndex(1, 2)
CartesianIndex(2, 2)
CartesianIndex(3, 2)
第一引数は関数、第二引数は検索対象となる配列、ということなります。
個人的には、便利だな、と思っています。
コメント
コメントを投稿