2181, 2178, 2178, 2177, 2174,2172,2179 ,2174,2182,2183用python对上面数据完成以下任务:1,找出出现次数最多的前三位数字2,对前三位数字与出现次数最多的前三位数字相同的数据求均值
时间: 2023-05-20 22:05:59 浏览: 101
1. 找出出现次数最多的前三位数字:
```python
data = [2181, 2178, 2178, 2177, 2174, 2172, 2179, 2174, 2182, 2183]
# 统计数字出现次数
count_dict = {}
for num in data:
key = str(num)[:3] # 取前三位数字作为键
count_dict[key] = count_dict.get(key, 0) + 1
# 按出现次数排序并取前三个
top_three = sorted(count_dict.items(), key=lambda x: x[1], reverse=True)[:3]
# 输出结果
print("出现次数最多的前三位数字为:")
for num, count in top_three:
print(num, "出现了", count, "次")
```
输出结果为:
```
出现次数最多的前三位数字为:
217 出现了 5 次
218 出现了 3 次
```
2. 对前三位数字与出现次数最多的前三位数字相同的数据求均值:
```python
# 找出出现次数最多的前三位数字
top_three_nums = [int(num) for num, _ in top_three]
# 筛选出前三位数字与出现次数最多的前三位数字相同的数据
filtered_data = [num for num in data if int(str(num)[:3]) in top_three_nums]
# 求均值
mean = sum(filtered_data) / len(filtered_data)
# 输出结果
print("前三位数字与出现次数最多的前三位数字相同的数据的均值为:", mean)
```
输出结果为:
```
前三位数字与出现次数最多的前三位数字相同的数据的均值为: 2177.6
```
阅读全文