如何实现Python函数统计数组中重复元素的种类数量?
计算数组中重复元素的种类数量
方法一:利用元素计数统计
通过统计数组中每个元素的出现次数,筛选出出现次数大于1的元素,统计这类元素的数量即可得到结果。可以借助Python内置的collections.Counter快速实现:
from collections import Counter def count_duplicate_types(arr): element_counts = Counter(arr) # 统计出现次数超过1次的元素种类数 return sum(1 for _, freq in element_counts.items() if freq > 1) # 测试示例 arr = [2,4,6,3,2,2,4,6] print(count_duplicate_types(arr)) # 输出:3
方法二:双集合追踪重复元素
用两个集合分别记录已遍历过的元素和确认重复的元素,遍历数组时判断元素是否已存在于已遍历集合,若是则加入重复集合,最后返回重复集合的长度:
def count_duplicate_types(arr): seen = set() duplicates = set() for num in arr: if num in seen: duplicates.add(num) else: seen.add(num) return len(duplicates) # 测试示例 arr = [2,4,6,3,2,2,4,6] print(count_duplicate_types(arr)) # 输出:3
内容的提问来源于stack exchange,提问作者Moe
相关产品推荐
相关产品推荐

