可以使用集合 (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 是原数组的长度。

Python3 数组去重:保持顺序,高效去重

原文地址: https://www.cveoy.top/t/topic/qmw5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录