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

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

Barbara Streisand
リリース: 2024-12-06 05:59:12
オリジナル
539 人が閲覧しました

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

交差するリスト: 重複する要素のキャプチャ

このプログラミングの謎では、2 つのリストの交差を決定し、共通する要素を特定する解決策を求めます。それらの間にある要素。 2 つのリスト「a」と「b」がある場合、タスクは両方のリストに共有される要素のみを含むリストを見つけることです。

問題ステートメント: リストのブール AND 演算

次のコード スニペットを考えてみましょう:

a = [1,2,3,4,5]
b = [1,3,5,6]
c = a and b
print c
ログイン後にコピー

このコードを実行すると、次のようなことが考えられます。リスト「a」と「b」の共通部分として「[1,3,5]」の出力が予想されます。ただし、実際の出力は '[1,3,5,6]' であり、交差に存在しない要素が含まれます。

解決策: Set Intersection を使用する

2 つのリストでブール AND 演算 (リスト交差) を実行し、重複を避け、順序を維持するには、セット交差を利用できます。セットは、順序付けされていない一意の要素のコレクションです。リストをセットに変換し、それらの共通部分を取得し、結果のセットをリストに変換し直すことで、目的の結果を得ることができます。

>>> a = [1,2,3,4,5]
>>> b = [1,3,5,6]
>>> list(set(a) & set(b))
[1, 3, 5]
ログイン後にコピー

このソリューションは、両方に属する要素のみを効率的に識別して返します。リストを作成し、それらの交差部分を簡潔に表現します。

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

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