ホームページ > バックエンド開発 > Python チュートリアル > Python で 2 つのリストの共通部分を効率的に見つけるにはどうすればよいですか?

Python で 2 つのリストの共通部分を効率的に見つけるにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-07 02:12:10
オリジナル
887 人が閲覧しました

How Can I Efficiently Find the Intersection of Two Lists in Python?

リストの交差の検索: ブール 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート