你可以使用Python中的列表推导式来按照各种观察进行子集化。以下是一个示例:
假设有一个包含学生成绩的列表,你想按照成绩的等级将学生分为不同的子集。可以使用以下代码示例:
# 假设有一个包含学生成绩的列表
grades = [85, 92, 78, 90, 86, 88, 80, 95, 89, 92]
# 定义一个字典,将成绩的等级与分数范围对应起来
grade_ranges = {'A': (90, 100), 'B': (80, 89), 'C': (70, 79), 'D': (60, 69), 'F': (0, 59)}
# 使用列表推导式按照成绩的等级将学生分为不同的子集
grade_subsets = {grade: [score for score in grades if score >= grade_ranges[grade][0] and score <= grade_ranges[grade][1]] for grade in grade_ranges}
# 输出每个等级的学生列表
for grade in grade_subsets:
print(f'Grade {grade}: {grade_subsets[grade]}')
运行以上代码,输出结果如下:
Grade A: [92, 90, 95, 92]
Grade B: [85, 88, 89]
Grade C: [78, 80, 86]
Grade D: []
Grade F: []
在这个示例中,我们首先定义了一个字典grade_ranges
,将成绩的等级与分数范围对应起来。然后使用列表推导式遍历grade_ranges
中的每个等级,并将符合该等级范围的成绩筛选出来,存放在一个新的列表中。最后,将每个等级的学生列表存储在一个字典grade_subsets
中,并输出结果。