集合演算

集合の和と積は以下のようにかける

python3
>>> A = {0, 1} >>> B = {0, 1, 2} >>> C = {0, 3} # 和集合: 少なくともどちらかに含まれてる要素の集合 >>> D1 = A | B # 和集合の演算子 | を使用 >>> D1 {0, 1, 2} >>> D2 = A.unions(B) # unisons 関数を使用 >>> D2 {0, 1, 2} >>> D3 = A.unions(B, C) # 3つ以上も可 >>> D3 {0, 1, 2, 3} # 積集合: どちらの集合にも含まれてる要素の集合 >>> E1 = A & B # 積集合の演算子 & を使用 >>> E1 {0, 1} >>> E2 = A.intersection(B) # intersection 関数を使用 >>> E2 {0, 1} >>> E3 = A.intersection(B, C) # 3つ以上も可 >>> E3 {0} # 差集合 >>> F1 = B - C # 差集合の演算子 - を使用 >>> F1 {1, 2} >>> F2 = B.intersection(C) # difference 関数を使用 >>> F2 {1, 2} >>> F3 = B.intersection(A, C) # 複数指定も可 >>> F3 {2} # 対称差集合: どちらか一方にのみ含まれる要素の集合(論理演算における XOR) >>> G1 = A ^ C # 対称差集合の演算子 ^ を使用 >>> G1 {1, 3} >>> G2 = A.intersection(C) # symmetric_difference 関数を使用 >>> G2 {1, 3}

javascript だと for 文書かないといけないのでそれと比べるとだいぶ楽