從Python 中的對象列表中刪除重複項
問題:
您需要刪除重複項從清單中刪除對象,同時保留順序並檢查資料庫記錄重疊。
解決方案:
要從物件清單中刪除重複項,您可以使用內建的在 set() 函數中。但是,這要求物件可哈希。
定義物件的雜湊:
要使物件可哈希,請定義 __eq__ 和 __hash__ 方法。 __eq__ 方法決定兩個物件是否相等,而 __hash__ 方法計算該物件的雜湊值。
雜湊實作範例:
對於具有author_name的Book物件和title 屬性, __eq__ 方法可以實作為:
<code class="python">def __eq__(self, other): return self.author_name == other.author_name and self.title == other.title</code>
並且
並且可以實作為_hash__ 方法可以實現為:<code class="python">def __hash__(self): return hash(('title', self.title, 'author_name', self.author_name))</code>
檢查資料庫重疊:
要檢查與資料庫的重疊,請執行下列步驟:保留順序:
set() 函數刪除重複元素,但不保留順序。若要保持順序,請使用 list(set(myList))。附加說明:
以上是如何從 Python 列表中刪除重複對象,同時保留順序並檢查資料庫重疊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!