列表相減:計算差異
Python 中的列表可以包含各種元素。為了對列表執行數學運算(例如減法),我們採用特定的方法或技術。讓我們探索如何從一個清單中減去另一個清單。
使用列表理解進行逐元素減法
一種方法是利用列表理解,它會迭代第一個列表併計算差異,同時保留原始順序:
[item for item in x if item not in y]
減去集合以加快計算速度
如果保持元素的順序並不重要,則基於集合的方法提供更快的計算:
list(set(x) - set(y))
覆蓋sub 進行列表減法
使用中綴「-」啟用列表減法運算符,我們可以重寫繼承自list 的類的__sub__ 方法:
class MyList(list): def __init__(self, *args): super(MyList, self).__init__(args) def __sub__(self, other): return self.__class__(*[item for item in self if item not in other])
用法範例:
x = MyList(1, 2, 3, 4) y = MyList(2, 5, 2) z = x - y # z becomes a MyList object containing the difference
以上是如何在Python中對列表進行減法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!