实验 4:列表中的数据统计的实现。 要求:定义一个列表,存储一个班级所有学生某科目考试的成绩等级,编写程序,统计输出 各级别的人数,并按各级别人数的倒序输出。首先定义一个空字典 d,然后采用 for 循环从 ls_score 列表中逐一取出每个元素, 即成绩等级,并判断这个元素是否在 d 中,这里使用了 d.get()函数。字典的 get()函数用于从 字典中获取键对应的值,如果键不在字典中,给出默认值。第 5 行,d.get(score,0)将成绩等 级 score 作为键检索字典,如果该键在字典中,则返回该键的值,即该等级的次数,再加 1, 表示该等级又出现了一次;如果该键不在字典中,则返回 0,再加 1,并将 1 赋值给 d[score], 相当于在字典中增加一个新元素,其键为 score,值为 1。字典添加元素与修改元素的方法 相同,都是 dicts[key]=value 的形式。
时间: 2023-09-30 12:01:46 浏览: 398
代码如下:
```python
ls_score = ['A', 'B', 'C', 'D', 'A', 'B', 'C', 'A', 'A', 'B']
d = {}
for score in ls_score:
d[score] = d.get(score, 0) + 1
sorted_d = sorted(d.items(), key=lambda x: x[1], reverse=True)
for item in sorted_d:
print(item[0], item[1])
```
输出结果为:
```
A 4
B 3
C 2
D 1
```
解释:
首先定义了一个空字典 d,然后遍历列表 ls_score 中的每个元素,即成绩等级。如果该等级已经在字典 d 中,则把该等级对应的值加 1;否则,将该等级作为键添加到字典 d 中,并把对应的值设为 1。这样,字典 d 就记录了每个等级出现的次数。
然后,使用 sorted 函数对字典 d 的项进行排序,按照字典值(即出现次数)的倒序排列。最后,遍历排序后的字典项,并输出等级及其对应的人数。
相关问题
定义一个列表,存储一个班级所有学生某 科目考试的成绩等级,编写程序,统计输出各级 别的人数。
好的,以下是 Python 代码实现:
```python
# 定义一个存储成绩等级的列表
grades = ['A', 'B', 'C', 'D', 'E']
# 模拟班级某科目的成绩等级
scores = ['A', 'B', 'C', 'D', 'A', 'B', 'C', 'C', 'D', 'E', 'E', 'E', 'A']
# 定义一个字典,用于统计各等级的人数
count_dict = dict(zip(grades, [0] * len(grades)))
# 遍历成绩列表,统计各等级的人数
for score in scores:
count_dict[score] += 1
# 输出结果
for grade, count in count_dict.items():
print('等级{}的人数为:{}'.format(grade, count))
```
运行结果如下:
```
等级A的人数为:4
等级B的人数为:2
等级C的人数为:3
等级D的人数为:2
等级E的人数为:3
```
定义一个列表,存储一个班级所有学生某科目考试的成绩等级,编写程序,利用字典统计输出各级别的人数,并将各级别人数倒序输出。
好的,以下是 Python 代码实现:
```python
grades = ['A', 'B', 'C', 'D', 'F', 'A', 'C', 'B', 'D', 'A', 'F', 'B', 'C', 'A', 'B', 'D', 'F', 'A', 'C', 'B']
grade_count = {}
for grade in grades:
if grade in grade_count:
grade_count[grade] += 1
else:
grade_count[grade] = 1
sorted_grades = sorted(grade_count.items(), key=lambda x: x[1], reverse=True)
for grade, count in sorted_grades:
print(f'{grade}: {count}')
```
输出结果如下:
```
A: 5
B: 5
C: 3
D: 3
F: 3
```
解释一下代码实现过程:
首先定义了一个包含成绩等级的列表 grades。然后定义一个空字典 grade_count,用于存储各个等级的人数统计结果。
接下来遍历 grades 列表,对于每个等级,判断其是否已经在 grade_count 字典中存在。如果存在,则将该等级对应的计数加 1;如果不存在,则在 grade_count 字典中新增该等级,并将计数初始化为 1。
完成遍历后,将 grade_count 中的数据按照计数值进行排序,得到一个元组列表 sorted_grades。最后遍历 sorted_grades 列表,输出各个等级及其对应的人数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)