ホームページ  >  記事  >  バックエンド開発  >  Python で複数のリストの共通部分を見つけるには?

Python で複数のリストの共通部分を見つけるには?

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

How to Find the Intersection of Multiple Lists in Python?

Python: 複数のリストの交差

複数のリストを操作する場合、それらの共通要素を見つけることは貴重な操作となることがあります。 Python には 2 つのリストを交差させるための便利な関数 (set(a).intersection(b)) が用意されていますが、3 つ以上のリストを扱う場合、タスクは少し複雑になります。

次のシナリオを考えてみましょう。複数のリストを含むリスト d のリスト (この例では、 d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]])。 d 内のすべてのリストの共通部分を見つけるには、Python の集合演算と組み込み関数を利用できます。

1 つの方法は、set.intersection() メソッドを繰り返し使用することです。ただし、この方法は一度に 2 つのセットに対してのみ動作するため、繰り返し適用する必要があります。その方法は次のとおりです:

<code class="python">intersection = set(d[0])
for lst in d[1:]:
    intersection = intersection.intersection(set(lst))

print(intersection)  # Outputs: {3, 4}</code>

別の簡潔で効率的なソリューションでは、Python の * 演算子と map() 関数を利用します:

<code class="python">intersection = set.intersection(*map(set, d))

print(intersection)  # Outputs: {3, 4}</code>

このソリューションでは、map( ) d の各リストをセットに変換する関数。次に * 演算子は、この一連のセットを set.intersection() の引数に展開し、すべてのセットの共通部分を同時に見つけることができます。

これらのアプローチはどちらも、内部に格納されている複数のリストの共通部分を効果的に見つけます。リストのリスト。 Python の集合演算を活用すると、任意の数のリスト間で共通の要素を簡単に識別できます。

以上がPython で複数のリストの共通部分を見つけるには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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