Python3 数组去重:保持顺序,高效去重
可以使用集合 (set) 来去重,然后再将去重后的集合转换回列表。由于集合是无序的,为了保持原数组的顺序,可以使用一个新的列表来保存去重后的值的顺序。
下面是一个示例代码:
def remove_duplicates(arr):
seen = set()
result = []
for item in arr:
if item not in seen:
seen.add(item)
result.append(item)
return result
# 示例用法
arr = [1, 2, 3, 1, 2, 4, 5, 6, 5]
result = remove_duplicates(arr)
print(result) # 输出: [1, 2, 3, 4, 5, 6]
在上面的代码中,seen 是一个集合,用于保存已经遇到过的元素。result 是一个新的列表,用于保存去重后的元素的顺序。遍历原数组 arr,如果当前元素不在 seen 集合中,则将其添加到 seen 集合和 result 列表中。最后返回 result 列表即可。
这样做的时间复杂度是 O(n),空间复杂度也是 O(n),其中 n 是原数组的长度。
原文地址: https://www.cveoy.top/t/topic/qmw5 著作权归作者所有。请勿转载和采集!