【Julia入門】Juliaのコレクション④ 集合型オブジェクト

統計や機械学習に関するプログラミングではPythonRが用いられることが多いですが、近年Juliaも注目を集めています。そこで当シリーズではJuliaの基本構文からライブラリの用い方などについて取りまとめます。当記事ではJuliaの集合型オブジェクトについて取りまとめを行いました。

Julia入門
https://www.hello-statisticians.com/julia

Julia 1.8 Documentation
https://docs.julialang.org/en/v1/

集合型オブジェクト

辞書型オブジェクトの概要

集合は『キー(key)』のみを保持する辞書です。重複する要素を格納することができないので、ユニークな要素の取り扱いの際によく用いられます。

辞書の初期化・値の追加

集合の初期化は下記のようにSetを用いることで行うことができます。

s = Set([1, 2])
println(s)
println(typeof(s))

・実行結果

Set([2, 1])
Set{Int64}

集合への値の追加はpush!関数を用いて下記のように行うことが可能です。

s = Set([1, 2])

push!(s, 3)
println(s)

push!(s, 3)
println(s)

・実行結果

Set([2, 3, 1])
Set([2, 3, 1])

push!(s, 3)の実行は二度行いましたが、集合に格納される値はユニークであることから二度目の操作によって集合の要素が変化しないことを確認しておくと良いです。

和集合・積集合

集合の和集合はunion、積集合はintersectを用いて下記のように得ることができます。

s1 = Set([1, 2, 3, 4, 5])
s2 = Set([1, 3, 5, 7, 9])

println(s1)
println(s2)
println("===")
println(union(s1, s2))
println(intersect(s1, s2))

・実行結果

Set([5, 4, 2, 3, 1])
Set([5, 7, 9, 3, 1])
===
Set([5, 4, 7, 2, 9, 3, 1])
Set([5, 3, 1])

参考

Julia 1.8 Documentation
https://docs.julialang.org/en/v1/