Menu
Coddy logo textTech

部分集合と上位集合

CoddyのPythonジャーニー「ロジックとフロー」セクションの一部。レッスン 36/78。

集合論において、subsetとは、そのすべての要素が別の集合に含まれている集合です。反対に、supersetとは、別の集合のすべての要素を含む集合です。

部分集合のチェック(<= または issubset()):

set1 = {1, 2}
set2 = {1, 2, 3}
is_subset = set1 <= set2
print(is_subset)
# 出力: True

この例では、set1set2 の部分集合です。これは、set1 のすべての要素が set2 にも含まれているためです。

proper subset のチェック(<):

set1 = {1, 2}
set2 = {1, 2, 3}
is_proper_subset = set1 < set2
print(is_proper_subset)
# 出力: True

ここでは、set1set2 の真部分集合です。なぜなら、set1set2 の部分集合であり、set2 には set1 に含まれない要素が少なくとも 1 つ含まれているからです。

superset のチェック(>= または issuperset()):

set1 = {1, 2, 3}
set2 = {1, 2}
is_superset = set1 >= set2
print(is_superset)
# 出力: True

この場合、set1set2 の上位集合です。これは、set1set2 のすべての要素が含まれているためです。

proper superset の確認(>):

set1 = {1, 2, 3}
set2 = {1, 2}
is_proper_superset = set1 > set2
print(is_proper_superset)
# 出力: True

ここでは、set1set2 の真の上位集合です。これは、set1set2 の上位集合であり、set1set2 に含まれていない要素を少なくとも 1 つ含んでいるためです。

challenge icon

チャレンジ

簡単

set1set2 の2つの集合を引数として受け取る、check_sets という名前の関数を作成してください。この関数は、次の操作を実行する必要があります。

  1. set1set2 の部分集合かどうかを確認します。
  2. set2set1 の上位集合かどうかを確認します。
  3. set1set2 の真部分集合かどうかを確認します。
  4. set2set1 の真上位集合かどうかを確認します。
  5. これらの操作の結果を含む辞書を、キー "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
    }
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ