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

Linda Hamilton
發布: 2024-10-23 14:40:06
原創
218 人瀏覽過

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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!