関数set.intersection(_update)の使い方の例

関数の機能:
  集合の積(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の使い方の例