setを使った集合演算

  • 和(union)
  • 積(intersection)
  • 差(difference)
  • 対称差(symmetric difference)
  • 部分集合(subset)の判定

和は論理和を表す記号 | 、積は論理積を表す記号 & 、差は  を使う。
和集合
  union = {1, 2, 3} | {2, 3, 4}
  print(union)
  →{1,2,3,4}

積集合   
   intersection = {1, 2, 3} & {2, 3, 4}
   print(intersection)
→{2,3}

差集合
   difference = {1, 2, 3} – {2, 3, 4}
  print(difference)
→{1} 差集合では初めの集合が基準になる

対称差  
A に属し、B に属さないもの” と “B に属し、A に属さないもの” とを全部集めて得られる集合
  sym_diff = {1, 2, 3} ^ {2, 3, 4}
  print(sym_diff)

部分集合の判定:TrueかFalseを返すもの

集合が大きいほうに(大きい)>(小さい)
>(小さい)がすべて(大きい)に含まれていると、Trueを返す

左辺の要素全てが右辺の集合に含まれている場合
  subset_1 = {1, 3} <= {1, 2, 3}
  print(subset_1)   → True

<= : 部分集合を判定する記号。左辺の集合(A)の要素が全て右辺の集合(B)に含まれている場合にTrueとなります。AはBの部分集合といいます。

右辺の要素全てが左辺の集合に含まれている場合
  subset_2 = {4, 5, 6} >= {4, 5}
  print(subset_2)  → True

左辺に右辺の集合に存在しない要素が含まれている場合
  subset_3 = {3, 4} <= {1, 2, 3}
  print(subset_3)  → False

>= : 部分集合を判定する記号です。右辺の集合(D)の要素が全て左辺の集合(C)含まれている場合にTrueとなります。DはCの部分集合といいます。

コメント

タイトルとURLをコピーしました