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