以下是一个示例代码,演示了如何按照条件将一个列表分成多个子集:
from itertools import groupby
# 原始列表
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 定义条件函数,根据奇偶性分组
def condition_func(num):
return num % 2 == 0
# 按条件分组
groups = groupby(lst, key=condition_func)
# 输出结果
for key, group in groups:
print(f"Key: {key}")
print(f"Group: {list(group)}")
print("----------------------")
输出结果如下:
Key: False
Group: [1, 3, 5, 7, 9]
----------------------
Key: True
Group: [2, 4, 6, 8, 10]
----------------------
在上面的示例中,首先定义了一个条件函数condition_func
,用于根据元素的奇偶性返回True
或False
。然后,使用itertools
模块的groupby
函数对列表进行分组,其中key
参数指定了按照条件函数进行分组。最后,遍历分组结果并输出每个分组的键和元素列表。
根据实际需求,你可以根据不同的条件函数,将列表分成不同的子集。
下一篇:按组进行指数加权函数