जब रिकर्सन तकनीक का उपयोग करके दी गई नेस्टेड लिस्ट को फ्लैटेन करने की आवश्यकता होती है, तो सिंपल इंडेक्सिंग, और रिकर्सन के साथ 'isinstance' मेथड का उपयोग किया जा सकता है।
रिकर्सन बड़ी समस्या के छोटे-छोटे टुकड़ों का आउटपुट कंप्यूट करता है, और इन टुकड़ों को बड़ी समस्या का समाधान देने के लिए जोड़ता है।
उदाहरण
इसके लिए एक प्रदर्शन नीचे दिया गया है:
def flatten_list(my_list):
if my_list == []:
return my_list
if isinstance(my_list[0], list):
return flatten_list(my_list[0]) + flatten_list(my_list[1:])
return my_list[:1] + flatten_list(my_list[1:])
my_list = [[1, 2], [3, 4], [90, 11], [56, 78], [[34, 56]]]
print("The list is :")
print(my_list)
print("The list after flattening is : ")
print(flatten_list(my_list))आउटपुट
The list is : [[1, 2], [3, 4], [90, 11], [56, 78], [[34, 56]]] The list after flattening is : [1, 2, 3, 4, 90, 11, 56, 78, 34, 56]
व्याख्या
- 'flatten_list' नामक एक मेथड परिभाषित किया गया है, जो पैरामीटर के रूप में एक लिस्ट लेता है।
- यह लिस्ट में पहले एलिमेंट के डेटा टाइप की जांच करता है।
- यदि यह लिस्ट से मेल खाता है, तो, पहले एलिमेंट को दूसरे एलिमेंट से अंतिम एलिमेंट के साथ कनकैटनेट करके प्रदर्शित किया जाता है।
- इसके परिणामस्वरूप एक नेस्टेड लिस्ट फ्लैट होती है।
- अन्यथा, पहला एलिमेंट छोड़ दिया जाता है, और लिस्ट को पहले रिवर्स किया जाता है और नॉर्मल लिस्ट के साथ जोड़ा जाता है, और आउटपुट के रूप में लौटाया जाता है।
- फ़ंक्शन के बाहर, एक नेस्टेड लिस्ट परिभाषित की जाती है, और कंसोल पर प्रदर्शित की जाती है।
- मेथड को लिस्ट को पैरामीटर के रूप में पास करके कॉल किया जाता है।
- आउटपुट कंसोल पर प्रदर्शित किया जाता है।