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))”来删除重复项,同时在单个优化步骤中保持顺序。