環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

Python 部分集合の判定(issubset):issubsetは自分と空集合を部分集合とみなす

最終更新日 2022.11.20

Python の issubset は部分集合の判定に使います。

x = {1, 2, 3}
y = {1, 2}

if y.issubset(x):
    print('y は x の部分集合')
else:
    print('y は x の部分集合でない')

# y は x の部分集合

部分集合から issubset を呼びます。y は完全に x に含まれるため、y は x の部分集合です。

次は部分集合でない例です。

x = {1, 2, 3}
y = {1, 2, 5}

if y.issubset(x):
    print('y は x の部分集合')
else:
    print('y は x の部分集合でない')

# y は x の部分集合でない

続いて同一の集合を比較する例。

x = {1, 2, 3}
y = {1, 2, 3}

if y.issubset(x):
    print('y は x の部分集合')
else:
    print('y は x の部分集合でない')

# y は x の部分集合

数学の集合論は自分を部分集合の一つと定義し、自分以外の部分集合を「真の部分集合」と呼びます。つまり issubset は「真の部分集合」の判定ではありません。

次は空集合。

x = {1, 2, 3}
y = set()

if y.issubset(x):
    print('y は x の部分集合')
else:
    print('y は x の部分集合でない')

# y は x の部分集合

空集合も部分集合という結果でした。これも数学上の定義と一致します。