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 の部分集合
空集合も部分集合という結果でした。これも数学上の定義と一致します。