ホームページ  >  記事  >  バックエンド開発  >  複数の Python リストで交差する要素を効率的に見つけるにはどうすればよいですか?

複数の Python リストで交差する要素を効率的に見つけるにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-21 22:03:311002ブラウズ

How to Find Intersecting Elements in Multiple Python Lists Efficiently?

複数の Python リスト内の共有要素の識別

Python では、set.intersection() 関数を使用して 2 つのリストの共通部分を抽出できます。ただし、複数のリストの共通部分を決定するのはより複雑になります。複数のリスト間で共有要素を効率的に識別するためのソリューションは次のとおりです。

回答で提供される式 set.intersection(*map(set,d)) は、リスト間の共通部分を見つけるための簡潔で効率的な方法を提供します。複数のリスト。そのコンポーネントを分解してみましょう。

  • d はリストのリストを表し、各要素自体がリストです。
  • map(set, d) は、d 内の各内部リストを a に変換します。
  • * は、map によって生成されたタプルを展開し、各セットを個別のパラメーターとして set.intersection() に渡します。

これらの操作を連鎖させることで、 d リスト内に含まれるすべてのセット (最初はリスト) の共通部分を取得します。指定された例では:

<code class="python">d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]</code>

コード set.intersection(*map(set,d)) は望ましい結果をもたらします:

<code class="python">[3, 4]</code>

このアプローチは、共有要素の順序を維持しながら、重複をすばやく削除するようにデータ構造を設定します。

以上が複数の Python リストで交差する要素を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。