在Python中,可以使用groupby
函数来按照列元素的条件进行分组。groupby
函数可以将一个可迭代对象按照指定的条件分成多个组。
下面是一个示例代码:
from itertools import groupby
# 一个包含学生姓名和年级的列表
students = [('Alice', 10), ('Bob', 12), ('Charlie', 10), ('Dave', 12), ('Eve', 11)]
# 按照年级进行分组
students.sort(key=lambda x: x[1]) # 首先按照年级进行排序
groups = groupby(students, key=lambda x: x[1]) # 按照年级进行分组
# 打印分组结果
for grade, group in groups:
print(f"Grade {grade}:")
for student in group:
print(student[0])
print()
输出结果为:
Grade 10:
Alice
Charlie
Grade 11:
Eve
Grade 12:
Bob
Dave
在上面的示例中,首先使用sort
函数对学生列表按照年级进行排序。然后,使用groupby
函数按照年级进行分组,返回一个迭代器,每个元素都包含一个年级和对应的学生组。最后,使用一个循环遍历每个年级的学生组,并打印出来。