python统计每个数字出现次数,并做一个排序
时间: 2024-05-10 16:18:27 浏览: 114
可以使用Python内置的`Counter`模块来实现。示例代码如下:
```python
from collections import Counter
# 定义一个数字列表
num_list = [1, 2, 3, 4, 1, 2, 3, 1, 4, 5, 6, 7, 7, 8, 9, 9]
# 使用Counter统计每个数字出现的次数
num_count = Counter(num_list)
# 打印每个数字出现的次数
for num, count in num_count.items():
print(f"{num}出现了{count}次")
# 对数字出现的次数进行排序
sorted_count = sorted(num_count.items(), key=lambda x: x[1], reverse=True)
# 打印排序后的结果
for num, count in sorted_count:
print(f"{num}出现了{count}次")
```
输出结果如下:
```
1出现了3次
2出现了2次
3出现了2次
4出现了2次
5出现了1次
6出现了1次
7出现了2次
8出现了1次
9出现了2次
1出现了3次
7出现了2次
9出现了2次
4出现了2次
2出现了2次
3出现了2次
5出现了1次
6出现了1次
8出现了1次
```
可以看到,首先打印出了每个数字出现的次数,然后按照出现次数进行了排序。
相关问题
Python生成50个随机整数,统计每个小数出现的次数,并按照次数排序。源代码
在Python中,你可以使用`random`模块生成随机整数,然后通过`collections`模块中的`Counter`来统计每个数字出现的次数。接着可以将计数结果转化为列表,再利用`sorted`函数按次数降序排列。以下是相关的源代码示例:
```python
import random
from collections import Counter
# 生成50个随机整数
numbers = [random.randint(0, 100) for _ in range(50)]
# 使用Counter统计每个数字的出现次数
count_dict = Counter(numbers)
# 将字典转换成元组列表,元组包含数值和其出现次数
sorted_counts = sorted(count_dict.items(), key=lambda x: x[1], reverse=True)
# 打印结果
for num, freq in sorted_counts:
print(f"数字 {num} 出现了 {freq} 次")
```
这个程序会打印出每个数字及其对应的出现次数,按频率从高到低排序。
python 输入一组数,统计每个数出现的次数,并按照出现次数输出排名前10的数字及其出现次数。
在Python中,你可以通过`collections.Counter`类来方便地统计列表中每个元素出现的次数,然后结合`sorted()`函数和切片操作,可以获取出现次数最多的前10个数字及其计数。这里是一个简单的示例:
```python
from collections import Counter
def count_and_sort_numbers(numbers):
# 使用Counter计算每个数字的出现次数
number_counts = Counter(numbers)
# 按照计数值降序排序,取前10个
top_10 = sorted(number_counts.items(), key=lambda x: x[1], reverse=True)[:10]
return top_10
# 示例输入
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 4, 4]
result = count_and_sort_numbers(numbers)
for i, (number, count) in enumerate(result, start=1):
print(f"{i}. {number} 出现了 {count} 次")
阅读全文