以下是一个示例代码,用于按条件对列表进行分组:
from itertools import groupby
# 原始列表
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 定义分组条件的函数
def condition(x):
return x % 2 == 0
# 按条件分组
groups = groupby(data, key=condition)
# 打印分组结果
for key, group in groups:
print(f"Key: {key}")
print(f"Group: {list(group)}")
print()
在上面的示例中,我们首先定义了一个原始列表 data
,然后定义了一个用于分组的条件函数 condition
,该函数接受一个参数 x
,并根据 x
是否为偶数返回一个布尔值。
然后,我们使用 groupby
函数来按条件对 data
进行分组。groupby
函数返回一个可迭代对象,其中每个元素都包含一个分组键和一个相应的分组迭代器。我们可以使用 for
循环来迭代这个对象,并打印每个分组的键和分组的元素。
在这个示例中,我们将 data
按照奇偶数进行分组。输出结果如下:
Key: False
Group: [1, 3, 5, 7, 9]
Key: True
Group: [2, 4, 6, 8, 10]
上一篇:按条件进行分组