Python 數組去重器
從 Python 清單中過濾重複的項目,同時保持其原始插入順序。
概述
刪除重複項是軟體中最常見的資料清理操作之一。
將清單轉換為集合(`set(arr)`)會刪除重複項,但會破壞元素的順序,因為集合是無序的。
為了在保留順序的同時刪除重複項,我們迭代列表並追蹤集合中看到的元素,將新元素附加到結果列表中。
程式碼和執行輸出
高效率的 O(n) 保序唯一元素累加器。
remove_duplicates.py
在編輯器中嘗試def remove_duplicates(arr):
seen = set()
result = []
for item in arr:
if item not in seen:
seen.add(item)
result.append(item)
return result
sample_list = [1, 2, 2, 3, 4, 4, 1, 5]
print("Original:", sample_list)
print("Unique: ", remove_duplicates(sample_list))端子輸出
Original: [1, 2, 2, 3, 4, 4, 1, 5]
Unique: [1, 2, 3, 4, 5]逐步實施
- 清理搜尋記錄和交易記錄日誌
- 為 SQL 查詢準備唯一資料鍵列表
- 清理陣列以進行可視化映射
常見問題解答
在Python 3.7+ 中執行此操作的最快方法是什麼?
由於Python 3.7+ 保留字典插入順序,因此您可以執行「list(dict.fromkeys(arr))」來刪除重複項,同時在單一最佳化步驟中保持順序。