Menu
Coddy logo textTech

部分集合と上位集合

CoddyのPythonジャーニー「Logic & Flow」セクションの一部 — レッスン 36/78。

集合論において、部分集合とは、そのすべての要素が別の集合に含まれている集合のことです。逆に、上位集合とは、別の集合のすべての要素を含んでいる集合のことです。

サブセット(部分集合)であるかどうかの確認 (<= または issubset()):

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

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

真部分集合であるかどうかの確認 (<):

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

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

上位集合(スーパーセット)の確認 (>= または issuperset()):

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

この場合、set1set2 のスーパーセットです。なぜなら set1set2 のすべての要素を含んでいるからです。

真の超集合(>)であるかの確認:

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

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

challenge icon

チャレンジ

簡単

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

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

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

Logic & Flowのすべてのレッスン