जब लिस्ट को सभी संभावित टपल जोड़े में विभाजित करना हो, तो एक मेथड परिभाषित की जा सकती है जो पैरामीटर के रूप में एक लिस्ट लेती है और लिस्ट कॉम्प्रिहेंशन का उपयोग करके लिस्ट के माध्यम से इटरेट करती है और 'extend' मेथड का उपयोग करती है।
उदाहरण
नीचे इसका प्रदर्शन है
def determine_pairings(my_list):
if len(my_list) <= 1:
return [my_list]
result = [[my_list[0]] + element for element in determine_pairings(my_list[1:])]
for index in range(1, len(my_list)):
result.extend([[(my_list[0], my_list[index])] + element for element in determine_pairings(my_list[1:index] + my_list[index+1:])])
return result
my_list = [56, 31, 78, 0]
print("The list is :")
print(my_list)
my_result = determine_pairings(my_list)
print("The resultant pairs are :")
print(my_result)
आउटपुट
The list is : [56, 31, 78, 0] The resultant pairs are : [[56, 31, 78, 0], [56, 31, (78, 0)], [56, (31, 78), 0], [56, (31, 0), 78], [(56, 31), 78, 0], [(56, 31), (78, 0)], [(56, 78), 31, 0], [(56, 78), (31, 0)], [(56, 0), 31, 78], [(56, 0), (31, 78)]]
व्याख्या
'determine_pairings' नामक एक मेथड परिभाषित की जाती है जो पैरामीटर के रूप में एक लिस्ट लेती है।
लिस्ट की लंबाई 1 से अधिक होने की जांच की जाती है।
पहले तत्व को छोड़कर तत्वों पर विचार किया जाता है और मेथड को फिर से कॉल किया जाता है।
इसे एक वेरिएबल में असाइन किया जाता है।
लिस्ट पर फिर से इटरेट किया जाता है, और पहला तत्व और इंडेक्स तत्व वेरिएबल में जोड़ा जाता है।
इसे आउटपुट के रूप में वापस किया जाता है।