ホームページ >バックエンド開発 >Python チュートリアル >Python で 2 つのリストの差を計算するには?

Python で 2 つのリストの差を計算するには?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-23 14:40:06319ブラウズ

How to Compute the Difference Between Two Lists in Python?

リストの減算

目的は、2 つのリスト x と y の差を計算し、結果として、x に存在しない要素を含む新しいリストを生成することです。 y.

解決策 1: リスト内包表記

x からの元の順序を保持するには、リスト内包表記を使用して y に含まれていない要素を確認します。

<code class="python">[item for item in x if item not in y]</code>

解決策2: 差の設定

結果のリスト内の要素の順序が重要でない場合は、差の設定を使用できます。

<code class="python">list(set(x) - set(y))</code>

解決策 3: sub をオーバーライドします。

リストの減算で中置 x - y 構文を有効にするには、__sub__ メソッドをオーバーライドして目的の動作を実装するカスタム クラスを作成できます。

<code class="python">class MyList(list):
    def __sub__(self, other):
        return self.__class__(*[item for item in self if item not in other])</code>

このクラスでは、減算は次のように実行できます:

<code class="python">x = MyList(1, 2, 3, 4)
y = MyList(2, 5, 2)
z = x - y   </code>

以上がPython で 2 つのリストの差を計算するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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