列表相減:計算差值
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
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3