首頁  >  文章  >  後端開發  >  如何在 Python 中計算兩個列表之間的差異?

如何在 Python 中計算兩個列表之間的差異?

Linda Hamilton
Linda Hamilton原創
2024-10-23 14:40:06221瀏覽

How to Compute the Difference Between Two Lists in Python?

列表減法

目標是計算兩個列表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 中計算兩個列表之間的差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn