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