下面是一个示例代码,演示如何按条件进行减少和分组:
# 假设有一个包含学生信息的列表
students = [
{"name": "Alice", "grade": "A", "score": 90},
{"name": "Bob", "grade": "B", "score": 80},
{"name": "Charlie", "grade": "A", "score": 95},
{"name": "David", "grade": "C", "score": 70},
{"name": "Eva", "grade": "B", "score": 85},
{"name": "Frank", "grade": "C", "score": 75}
]
# 按成绩分组,并计算每个分组的平均分
grade_group = {}
for student in students:
grade = student["grade"]
score = student["score"]
if grade not in grade_group:
grade_group[grade] = {"total_score": score, "count": 1}
else:
grade_group[grade]["total_score"] += score
grade_group[grade]["count"] += 1
for grade, data in grade_group.items():
avg_score = data["total_score"] / data["count"]
print(f"Average score for grade {grade}: {avg_score}")
# 按条件进行减少
filtered_students = [student for student in students if student["score"] >= 85]
print("Students with score >= 85:")
for student in filtered_students:
print(student["name"])
这个示例代码中,首先按照成绩分组,并计算每个分组的总分和人数。然后,根据条件(分数大于等于85)进行筛选,得到符合条件的学生列表。
上一篇:按条件进行分组,然后计算平均值。
下一篇:按条件进行最小归一化