リストの交差の検索: ブール AND 演算と交差の設定
Python の一般的なタスクは、2 つのリストの交差を見つけることです。両方の入力リストに共通の要素を含む新しいリストが作成されます。これは、さまざまな方法を使用して実現できます。
一般的なアプローチの 1 つは、論理「AND」演算を使用することです。これは、最初のリストの各要素を 2 番目のリストのすべての要素と比較し、要素のみを含む新しいリストを返します。一致する要素。ただし、Python の「AND」演算子はリストに対して直接機能しません。入力リストを論理値に変換する必要がありますが、この場合は問題があります。
別のアプローチは、集合積集合演算子 (&) を使用することです。セットは、一意の要素の順序付けされていないコレクションであるため、この操作は、両方の入力リストに存在する要素のみを含むセット オブジェクトを返します。結果セットからリストを取得するには、list() 関数を使用してリストにキャストできます。
例:
a = [1,2,3,4,5] b = [1,3,5,6] list(set(a) & set(b))
このコードは次の出力を生成します。
[1, 3, 5]
Set Intersection は、特に要素の順序が重要ではなく、重複が無視される場合に、リストの交差を実行する便利な方法を提供します。共通要素のセットを効率的に比較し、リストの論理比較に関する潜在的な問題を回避します。
以上がPython で 2 つのリストの共通部分を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。