関数の機能:
集合の積(setAとsetBの共通部分の集合)を求める
setA.intersection(setB)
setA.intersection_update(setB)
intersection :
集合の積を返却
(setAは変更されない)
intersection_update :
関数を呼び出した集合が集合の積に変更される
(setAが変更される, 返却値はNone)
例1 : 2つの集合の積
>>> set1 = {'A', 'B', 'C'}
>>> set2 = {'B', 'C', 'D'}
>>> set1.intersection(set2)
{'B', 'C'}
この例では、set1とset2の両方に含まれる要素を持つ集合が関数から返却されています。
この例のイメージを下図に示します。集合の積は図中の青い部分で、この部分の集合が関数から返却されます。
なお、関数の呼び出し後にset1の内容を確認すると更新されていないことがわかります。
>>> set1
{'A', 'B', 'C'}
& 演算子を使用して下記のように記述することもできます。
>>> set1 & set2
{'B', 'C'}
intersection_updateを使用した場合は下記のようになります。
>>> set1.intersection_update(set2)
>>> set1
{'B', 'C'}
例2 : 3つの集合の積
>>> set1 = {'A', 'B', 'C'}
>>> set2 = {'B', 'C', 'D'}
>>> set3 = {'C', 'D', 'E'}
>>> set1.intersection(set2, set3)
{'C'}
この例では、set1とset2とset3の全てに含まれる要素を持つ集合が関数から返却されています。
& の演算子を使用して下記のように記述することもできます。
>>> set1 & set2 & set3
{'C'}
関連項目
関数set.difference(_update)の使い方の例
関数set.symmetric_difference(_update)の使い方の例
関数set.union, set.updateの使い方の例