Python 基礎 第10回 コレクション : セット

目次

セットとは

Python におけるデータ集合の最後に、セットを紹介します。セットは並び順のないデータの集合を表すものです。セットは次のように作成します。

セット名 = {値, 値, 値, …}

セットは{ }を使って値を指定することに注意してください。セットの要素には順序がないためご注意ください。では、セットを作成するサンプルコードを見てみましょう。

colors = {"赤", "青", "黄"}

セットの中の値は文字列の「赤」「青」「黄」です。セットの中の値は順序を持たないため、今回のような「色の種類」などのデータを格納することに適しています。

セットの追加・削除

セットに値を追加したり、削除するには下記の構文を用います。

セット名. add(値)
セット名. remove(値)

実際のサンプルコードは下記のようになります。


colors = {"赤", "青", "黄"}
colors.add("緑")
colors.remove("黄")

print(colors)

上記のコードを実行すると、「緑」という値が追加され「黄」という値が削除された結果のセットが出力されるため、

{‘青’, ‘赤’, ‘緑’}

という出力がターミナルに表示されます。セットには順序がないため、値の順番は実行するごとに変化します。

また、セットには値の変更をするための操作はありません。

セットによる集合演算

ここまでのセットの紹介では、セットにデータを格納することのメリットをあまり感じられないかもしれません。
しかしセットには「集合演算が可能」という他のコレクションにはない特徴があります。サンプルコードを紹介する前に、集合演算とは何なのかについてまずふれていきましょう。

①和 : 集合のすべての要素を求める

Python_和集合

②共通 : どちらの集合にも共通する要素を求める

Python_積集合

③差 : いずれかの集合にあってほかの集合にないものを求める

Python_差集合

④対象差 : どちらか一方の集合のみにある要素をすべて求める

Python_対称差

上記をもとに、セットの集合演算を行うコードを見てみましょう。

①セット同士の和を求める

colors1 = {"赤", "青", "黄"}
colors2 = {"緑", "白", "黄"}

print(colors1 | colors2)

実行結果は {‘黄’, ‘赤’, ‘青’, ‘白’, ‘緑’} (順不同)です。

②セット同士の共通を求める

colors1 = {"赤", "青", "黄"}
colors2 = {"緑", "白", "黄"}

print(colors1 & colors2)

実行結果は {‘黄’} です。

③セット同士の差を求める

colors1 = {"赤", "青", "黄"}
colors2 = {"緑", "青", "黄"}

print(colors1 - colors2)

実行結果は {‘赤’} です。

④セット同士の対象差を求める

colors1 = {"赤", "青", "黄"}
colors2 = {"緑", "白", "黄"}

print(colors1 ^ colors2)

実行結果は {‘緑’, ‘青’, ‘赤’, ‘白’} (順不同)です。

セットを扱う上で集合演算はぜひマスターしておきましょう。

Pythonに関するその他の記事はこちらから。

(Visited 15 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社NEUGATEは、都内で企業研修や職業訓練を運営している会社です。主に、IT系の教育事業に力を入れています。
この記事は、株式会社NEUGATEの教育事業部が執筆をしています。

企業ホームページ:https://neugate.co.jp/

コメント

コメントする

目次