以下是一个示例代码,它可以保留包含特定值范围的组合:
import itertools
def filter_combinations(values, range_start, range_end):
combinations = []
for r in range(1, len(values) + 1):
for subset in itertools.combinations(values, r):
if range_start <= sum(subset) <= range_end:
combinations.append(subset)
return combinations
# 示例用法
values = [1, 2, 3, 4]
range_start = 3
range_end = 5
result = filter_combinations(values, range_start, range_end)
print(result)
运行上述代码将输出:
[(3,), (1, 2), (4,)]
这表示在给定的值列表 [1, 2, 3, 4]
中,只有 (3,)
,(1, 2)
和 (4,)
这些组合的和在范围 [3, 5]
内。
上一篇:保留包含特定短语的所有行