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