Python程式獲取所有和為s的子集
當需要獲取所有和為特定值'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("The list is :")
print(my_list)
subset_sum = 53
print("The result is :")
sub_set_sum(my_size, my_list, subset_sum)輸出
The list is : [21, 32, 56, 78, 45, 99, 0] The result is : [21, 32] [21, 32, 0]
解釋
將所需的包匯入到環境中。
定義一個名為'sub_set_sum'的方法,該方法將列表的大小和列表作為引數。
它遍歷列表並使用'combinations'方法獲取所有組合。
如果和與特定值相同,則將其轉換為列表並在控制檯顯示。
在方法外部,定義一個大小。
定義一個列表並在控制檯顯示。
定義一個子集值。
透過傳遞所需引數來呼叫該方法。
輸出顯示在控制檯上。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP