获取所有具有总和 s 的子集的 Python 程序\
pythonserver side programmingprogramming更新于 2025/11/9 23:40:17
当需要获取所有具有特定总和"s"的子集时,会定义一个方法,该方法会遍历列表并获取列表的所有组合,如果与总和匹配,则将其打印在控制台上。
示例
下面是相同的演示
from itertools import combinations
def sub_set_sum(size, my_array, sub_set_sum):
for i in range(size+1):
for my_sub_set in combinations(my_array, i):
if sum(my_sub_set) == sub_set_sum:
print(list(my_sub_set))
my_size = 6
my_list = [21, 32, 56, 78, 45, 99, 0]
print("列表为:")
print(my_list)
subset_sum = 53
print("结果为:")
sub_set_sum(my_size, my_list, subset_sum)
输出
列表为: [21, 32, 56, 78, 45, 99, 0] 结果为: [21, 32] [21, 32, 0]
解释
将所需的包导入环境。
定义了一个名为‘sub_set_sum’的方法,该方法以列表的大小和列表作为参数。
它遍历列表并使用‘combinations’方法获取所有组合。
如果总和与特定值相同,则将其转换为列表并显示在控制台上。
在方法外部,定义了大小。
定义了一个列表并显示在控制台上。
定义了一个子集值。
通过传递所需参数来调用该方法。
输出显示在控制台上。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

