用python判断数组中有几个重复的数字
时间: 2024-12-10 15:35:27 浏览: 14
在Python中,你可以使用集合(set)或者字典(dictionary)来快速判断数组中有多少个重复的数字。这里提供两种方法:
1. 使用集合(Set):
```python
def count_duplicates(arr):
return len(set(arr)) - len({x for x in arr if x not in set(arr)})
# 示例
arr = [1, 2, 2, 3, 4, 4, 4]
print(count_duplicates(arr)) # 输出:3
```
这个函数首先将数组转换为集合,去除了重复元素,然后计算原数组长度与去重后的集合长度之差,得到的就是重复数字的数量。
2. 使用字典(Dictionary):
```python
def count_duplicates(arr):
count_dict = {}
for num in arr:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
return sum(value > 1 for value in count_dict.values())
# 示例
arr = [1, 2, 2, 3, 4, 4, 4]
print(count_duplicates(arr)) # 输出:3
```
这个函数通过遍历数组并更新字典中每个数字的计数,最后统计值大于1的键,即为重复数字的数量。
阅读全文