集合型 (set)

ハッシュ可能なオブジェクトの順序なしの集合を表すデータ構造。重複した要素を持たない。

ドキュメント:

set / frozenset – 集合型 | Python 3.x ドキュメント [公式]

導入

ドキュメント:

集合型 | Python 3.x ドキュメント [公式]

使い方

空のセットを作成する。

empty = set()

セットを作成する。

digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

セットから要素を一つ取り出す。セットが空の場合、KeyError が発生する。

digit = digits.pop()

セットに要素を追加する。

digits.add(101)

セットから要素を取り除く。要素が存在しなかった場合、KeyError が発生する。

digits.remove(101)

セットに要素が含まれていれば取り除く。要素が存在しない場合は無視される。

digits.discard(101)

参考:

set – 集合型の基本 – Qiita

集合を作成する | JavaDrive

set – 集合の使い方 | 鎖プログラム

集合型 | Hack

集合演算

  • | 和集合 (どちらかの集合に含まれる)
  • & 積集合 (両方の集合に含まれる)
  • - 差集合 (左の集合に含まれて、右の集合に含まれない)
  • ^ 対称差集合 (左の集合のみに含まれるかあるいは右の集合のみに含まれる)
  • <= 包含/部分集合の判定 (左の集合の要素は全て右の集合に含まれている)

参考:

集合演算 – Qiita

set 型による集合演算の基本 | Hbk project

set 型で集合演算/和集合、積集合や部分集合の判定など | note.nkmk.me

集合の演算を行う/和集合、積集合、差集合、対称差集合 | JavaDrive

集合の演算を行う | DevelopersIO

空集合

空のセットを作成する。

empty = set()

セットが空かどうか判別する。

if len(empty) == 0:
    print("Empty!")

参考:

空の集合を定義する/集合が空集合かどうか確認する | MathPython

変換

リストをセットに変換する。

digits = set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

参考:

集合とリストを相互に変換する方法 | HEADBOOST

文字列/タプル/range などから集合を作成する | JavaDrive

インポートエラー (Set / sets)

参考:

can’t import Set from sets (“no module named sets”) – Stack Overflow

Importing Sets in python – Stack Overflow

まとめ

set – 集合の基本的操作のまとめ | HEADBOOST

set 型と集合演算 | Python 学習講座

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA