जब विशिष्ट योग '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' मेथड का उपयोग करती है।
यदि योग किसी विशिष्ट मान के समान है, तो इसे लिस्ट में बदलकर कंसोल पर प्रदर्शित किया जाता है।
मेथड के बाहर, एक आकार परिभाषित किया जाता है।
एक लिस्ट परिभाषित की जाती है और कंसोल पर प्रदर्शित की जाती है।
एक सबसेट मान परिभाषित किया जाता है।
आवश्यक पैरामीटर पास करके मेथड को कॉल किया जाता है।
आउटपुट कंसोल पर प्रदर्शित होता है।