部分集合と上位集合
CoddyのPythonジャーニー「Logic & Flow」セクションの一部 — レッスン 36/78。
集合論において、部分集合とは、そのすべての要素が別の集合に含まれている集合のことです。逆に、上位集合とは、別の集合のすべての要素を含んでいる集合のことです。
サブセット(部分集合)であるかどうかの確認 (<= または issubset()):
set1 = {1, 2}
set2 = {1, 2, 3}
is_subset = set1 <= set2
print(is_subset)
# 出力: Trueこの例では、set1 のすべての要素が set2 にも含まれているため、set1 は set2 のサブセット(部分集合)です。
真部分集合であるかどうかの確認 (<):
set1 = {1, 2}
set2 = {1, 2, 3}
is_proper_subset = set1 < set2
print(is_proper_subset)
# 出力: Trueここで、set1 は set2 の真部分集合です。なぜなら、set1 は set2 の部分集合であり、かつ set2 には set1 に含まれない要素が少なくとも1つ含まれているからです。
上位集合(スーパーセット)の確認 (>= または issuperset()):
set1 = {1, 2, 3}
set2 = {1, 2}
is_superset = set1 >= set2
print(is_superset)
# 出力: Trueこの場合、set1 は set2 のスーパーセットです。なぜなら set1 が set2 のすべての要素を含んでいるからです。
真の超集合(>)であるかの確認:
set1 = {1, 2, 3}
set2 = {1, 2}
is_proper_superset = set1 > set2
print(is_proper_superset)
# 出力: Trueここで、set1 は set2 の真上位集合です。なぜなら、set1 は set2 の上位集合であり、かつ set1 は set2 に含まれない要素を少なくとも1つ含んでいるからです。
チャレンジ
簡単2つの集合 set1 と set2 を引数として受け取る、check_sets という名前の関数を作成してください。この関数は以下の操作を行う必要があります:
set1がset2の部分集合であるかを確認します。set2がset1の上位集合であるかを確認します。set1がset2の真部分集合であるかを確認します。set2がset1の真上位集合であるかを確認します。- これらの操作の結果を含む辞書を返します。キーは
"is_subset"、"is_superset"、"is_proper_subset"、および"is_proper_superset"とします。
チートシート
部分集合(subset)とは、そのすべての要素が別の集合に含まれている集合のことです。上位集合(superset)とは、別の集合のすべての要素を含んでいる集合のことです。
<= または issubset() を使用して部分集合かどうかを確認します:
set1 = {1, 2}
set2 = {1, 2, 3}
is_subset = set1 <= set2 # True< を使用して真部分集合かどうかを確認します:
set1 = {1, 2}
set2 = {1, 2, 3}
is_proper_subset = set1 < set2 # True>= または issuperset() を使用して上位集合かどうかを確認します:
set1 = {1, 2, 3}
set2 = {1, 2}
is_superset = set1 >= set2 # True> を使用して真上位集合かどうかを確認します:
set1 = {1, 2, 3}
set2 = {1, 2}
is_proper_superset = set1 > set2 # True自分で試してみよう
def check_sets(set1, set2):
# set1 が set2 の部分集合であるかを確認する
is_subset =
# set2 が set1 の上位集合であるかを確認する
is_superset =
# set1 が set2 の真部分集合であるかを確認する
is_proper_subset =
# set2 が set1 の真上位集合であるかを確認する
is_proper_superset =
# 結果を含む辞書を返す
return {
"is_subset": is_subset,
"is_superset": is_superset,
"is_proper_subset": is_proper_subset,
"is_proper_superset": is_proper_superset
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。