集合型 (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)

参考:

Python の集合型 set の基本 – Qiita

集合を作成する | Let’s プログラミング

set型 (集合) の使い方 | 鎖プログラム

Python の集合型 | Hack

集合演算

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

参考:

Python の集合演算 – Qiita

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

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

集合の演算を行う/和集合、積集合、差集合、対称差集合 | Let’s プログラミング

Python で集合の演算を行う | DevelopersIO

空集合

空のセットを作成する。

empty = set()

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

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

参考:

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

変換

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

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

参考:

Python の set (集合) とリストを相互に変換する方法 | HEADBOOST

文字列、タプル、range などから集合を作成する | Let’s プログラミング

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

参考:

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

Importing Sets in python – Stack Overflow

まとめ

参考:

Python の set (集合) の基本的操作のまとめ | HEADBOOST

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

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

コメントを残す

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

Protected by reCAPTCHA