目標是計算兩個列表x 和y 之間的差異,從而產生一個新列表,其中包含x 中不存在的元素y.
要保留x 的原始順序,請使用列表推導式檢查哪些元素不在y 中:
<code class="python">[item for item in x if item not in y]</code>
如果結果清單中元素的順序不重要,可以使用設定差異:
<code class="python">list(set(x) - set(y))</code>
要啟用列表減法的中綴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中文網其他相關文章!