Python でリストを減算する方法
リストを操作する場合、あるリストから別のリストを減算する必要があるシナリオがあります。 Python でリストを減算するには、一方のリストには存在するがもう一方のリストには存在しない要素を識別する必要があります。
リスト内包表記の使用
簡単なアプローチは、リスト内包表記を使用することです。最初のリスト (x) を反復処理することで、2 番目のリスト (y) に存在しない要素のみを含む新しいリストを作成できます。
<code class="python">[item for item in x if item not in y]</code>
このメソッドは、要素を除外しながら x の元の順序を維持します。 found in y.
Set Difference の使用
リストのプロパティ (順序付けなど) の保持を気にしない場合は、Set Difference 操作を利用できます。セットは順序付けされていないコレクションであるため、重複は破棄されます。差分集合を実行するには:
<code class="python">list(set(x) - set(y))</code>
このメソッドは、最初のリストに固有の要素を含むリストを返します。
sub メソッドのオーバーライド
構文上の便宜のために、リストから継承し、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 # Subtracts y from x and assigns to z</code>
以上がPython でリストを減算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。