Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのintersection()関数とは?集合の共通要素(積集合)を求める方法

この記事では、Pythonのセット(集合)に対して実行できるintersection()関数について詳しく解説します。数学における「積集合(インターセクション)」とは、2つの集合から共通する要素を見つけ出すことを指します。Pythonのintersection()関数とは?集合の共通要素(積集合)を求める方法

構文

<セット名>.intersection(<セットa1>, <セットa2>, …)

戻り値

引数として渡されたすべての集合に共通する要素(積集合)が、新しいセットとして返されます。

使用例

set_1 = {'t','u','t','o','r','i','a','l'}
set_2 = {'p','o','i','n','t'}
set_3 = {'t','u','t'}
# 2つの集合の積集合
print("set1 intersection set2 : ", set_1.intersection(set_2))
# 3つの集合の積集合
print("set1 intersection set2 intersection set3 :", set_1.intersection(set_2,set_3))

出力結果

set1 intersection set2 : {'i', 'o', 't'}
set1 intersection set2 intersection set3 : {'t'}

解説

このコードでは、インタープリタが暗黙的に各集合の共通要素を検索し、その結果を新しいセットとして該当する変数に返しています。なお、intersection()メソッドは元のセットを変更せず、常に新しいセットを生成する点も重要な特徴です。

&演算子との違い

Pythonでは「&」演算子でも同じ結果を得られますが、「&」は両辺とも必ずset型である必要があります。一方、intersection()メソッドは引数にリストやタプルなど任意のイテラブルを指定できるため、より柔軟に使えるのが利点です。

まとめ

この記事では、Python 3.x(およびそれ以前のバージョン)で利用できるintersection()関数の実装方法と使い方を解説しました。複数の集合から共通要素を効率的に抽出したい場合に便利なメソッドなので、ぜひ実際のコードで活用してみてください。

  1. Python Tkinterでイベントを関数にバインドする方法【キーボード・マウス対応】

    Pythonの標準GUIライブラリであるTkinterは、デスクトップアプリケーション開発に広く利用されています。GUIプログラミングにおいて重要な概念の一つが「バインディング(Binding)」です。これは、ウィジェットやウィンドウに対してイベント(キー入力やマウス操作など)を関数やメソッドに関連付け、そのイベントが発生したタイミングで特定の関数が自動的に実行される仕組みです。本記事では、Tkinterにおけるバインディングの基本として、キーボードイベントとマウスクリックイベントを関数に紐付ける方法を具体例とともに解説します。キーボードイベントのバインドまずは、キーボードの任意のキーが押され

  2. Pythonのissubset()関数とは?部分集合の判定方法を実例付きで解説

    本記事では、Python標準ライブラリに用意されているissubset()関数の仕組みと使い方について詳しく解説します。 issubset()メソッドは、あるセット(集合)のすべての要素が、引数として渡した別のセットにも含まれている場合にブール値のTrueを返し、1つでも含まれていない要素があればFalseを返します。 下の図では、BはAの部分集合です。もしAとBが同一のセットであれば、両者は互いに部分集合の関係にあるといえます。つまり、両方のセットがまったく同じ要素を持っているということを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値