实验 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 08:01:46 浏览: 494
代码如下:
```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 = ["优秀", "良好", "及格", "不及格"]
student_scores = [3, 2, "优秀", "良好", "及格", "不及格", "优秀", "及格"]
# 定义一个字典,用于存储每个等级的人数
grade_count = {grade: 0 for grade in grades}
# 遍历列表,统计每个等级的人数
for score in student_scores:
if isinstance(score, str): # 检查是否为字符串表示的成绩等级
grade_count[score] += 1
# 按照人数倒序排序并打印结果
sorted_grades = sorted(grade_count.items(), key=lambda x: x[1], reverse=True)
for grade, count in sorted_grades:
print(f"{grade}: {count}人")
```
在这个代码中,我们使用了一个字典来存储每个等级及其对应的人数,然后通过`sorted`函数根据值(即人数)进行降序排列。运行此代码,你会得到各级别的学生人数以及它们的倒序排序。
定义一个列表,存储一个班级所有学生某 科目考试的成绩等级,编写程序,统计输出各级 别的人数。
好的,以下是 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
```
阅读全文