使用随机函数,生成包含 100000 个 0-1000 之间的随机整数,并使用两种不同的方法统计出 每个整数对象出现的次数,分别输出出现频率最高和最低的前 10 个数。
时间: 2023-05-26 13:04:56 浏览: 104
方法1:使用字典记录出现次数
```python
import random
nums = [random.randint(0, 1000) for _ in range(100000)] # 生成随机整数列表
count_dict = {}
for num in nums:
count_dict[num] = count_dict.get(num, 0) + 1 # 统计每个整数出现次数
sorted_count = sorted(count_dict.items(), key=lambda x: x[1], reverse=True) # 按出现次数降序排序
print("出现频率最高的前10个数:")
for num, count in sorted_count[:10]:
print(num, count)
sorted_count = sorted(count_dict.items(), key=lambda x: x[1], reverse=False) # 按出现次数升序排序
print("出现频率最低的前10个数:")
for num, count in sorted_count[:10]:
print(num, count)
```
方法2:使用 Counter 类统计频率
```python
import random
from collections import Counter
nums = [random.randint(0, 1000) for _ in range(100000)] # 生成随机整数列表
count_dict = Counter(nums) # 使用 Counter 统计频率
sorted_count = count_dict.most_common(10) # 统计出现频率最高的前10个数
print("出现频率最高的前10个数:")
for num, count in sorted_count:
print(num, count)
sorted_count = count_dict.most_common()[-10:] # 统计出现频率最低的前10个数
print("出现频率最低的前10个数:")
for num, count in sorted_count:
print(num, count)
```
两种方法都可以得出相同的结果,使用 Counter 可以更加简单快速地统计频率。
阅读全文