[Python]セット演算

Pythonのセット(set)には、数学の集合演算に対応するメソッドや演算子が用意されています。具体的には、和集合、積集合、差集合、対象差(排他的論理和)といった基本的な演算が可能です。

和集合(Union)

二つのセットの和集合は、両方のセットに含まれる全ての要素から成るセットです。和集合は union() メソッドや | 演算子で求められます。

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set_union = set1.union(set2)
# または
set_union = set1 | set2
print(set_union)  # 結果: {1, 2, 3, 4}

積集合(Intersection)

二つのセットの積集合は、両方のセットに共通する要素から成るセットです。積集合は intersection() メソッドや & 演算子で求められます。

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set_intersection = set1.intersection(set2)
# または
set_intersection = set1 & set2
print(set_intersection)  # 結果: {2, 3}

差集合(Difference)

二つのセットAとBの差集合は、Aに含まれ、かつBに含まれない要素から成るセットです。差集合は difference() メソッドや - 演算子で求められます。

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set_difference = set1.difference(set2)
# または
set_difference = set1 - set2
print(set_difference)  # 結果: {1}

対象差(Symmetric Difference)

二つのセットの対象差は、どちらか一方のセットにだけ含まれる要素全てから成るセットです。対象差は symmetric_difference() メソッドや ^ 演算子で求められます。

set1 = {1, 2, 3}
set2 = {2, 3, 4}
set_sym_difference = set1.symmetric_difference(set2)
# または
set_sym_difference = set1 ^ set2
print(set_sym_difference)  # 結果: {1, 4}

これらの演算は、複数のデータセット間の関係を調べるためなど、データ分析の現場でよく使用されます。