collection中的Counter,不用不知道,用过说真好。
如果是两个数组进行合并并按照顺序去重,代码如下:
from collections import Counter
def merge_and_unique(arr1, arr2):
# 合并两个数组
merged_array = arr1 + arr2
# 使用Counter计算元素出现次数
counts = Counter(merged_array)
# 根据计数构建去重后的数组
unique_array = [item for item, count in counts.items()]
return unique_array
# 示例数组
array1 = [1, 5, 3]
array2 = [3, 4, 5]
# 调用函数合并并去重
merged_and_unique_array = merge_and_unique(array1, array2)
print(merged_and_unique_array)
# 输出:[1, 5, 3, 4]
如果是多个数组呢,这时候就需要迭代了。
from collections import Counter
def merge_and_unique(*arrays):
# 合并多个数组
merged_array = []
for arr in arrays:
merged_array.extend(arr)
# 使用Counter计算元素出现次数
counts = Counter(merged_array)
# 根据计数构建去重后的数组
unique_array = [item for item, count in counts.items()]
return unique_array
# 示例数组
array1 = [1, 5, 3]
array2 = [3, 4, 5]
array3 = [5, 6, 7]
# 调用函数合并并去重
merged_and_unique_array = merge_and_unique(array1, array2, array3)
print(merged_and_unique_array)
# 输出:[1, 5, 3, 4, 6, 7]
又get到一个即插即用的小模块。