在Python中,可以使用itertools.groupby()
函数按照两个条件进行分组。下面是一个示例代码:
from itertools import groupby
# 根据两个条件进行分组的函数
def group_by_conditions(item):
# 这里假设item是一个包含两个条件的元组
condition1 = item[0]
condition2 = item[1]
# 返回一个元组,包含两个条件,用于分组
return (condition1, condition2)
# 示例数据
data = [
('A', 1),
('A', 2),
('B', 1),
('B', 2),
('C', 1),
('C', 2)
]
# 按照两个条件进行分组
grouped_data = groupby(data, key=group_by_conditions)
# 打印分组结果
for key, group in grouped_data:
print(key, list(group))
输出结果:
('A', 1) [('A', 1)]
('A', 2) [('A', 2)]
('B', 1) [('B', 1)]
('B', 2) [('B', 2)]
('C', 1) [('C', 1)]
('C', 2) [('C', 2)]
在上述示例中,group_by_conditions()
函数定义了按照两个条件进行分组的规则。groupby()
函数使用group_by_conditions()
函数作为关键字参数key
,对示例数据进行分组。最后,使用for
循环迭代分组结果,并打印每个分组的键和分组项。