जब रिकर्सन तकनीक का उपयोग किए बिना लिस्ट को फ्लैटेन करने की आवश्यकता होती है, तो लैम्ब्डा फ़ंक्शन, 'sum' मेथड, 'map' मेथड और 'isinstance' मेथड का उपयोग किया जा सकता है।
एक लिस्ट का उपयोग विषम मानों को स्टोर करने के लिए किया जा सकता है (यानी पूर्णांक, फ्लोटिंग पॉइंट, स्ट्रिंग्स जैसे किसी भी डेटा टाइप का डेटा)।
'isinstance' मेथड जांचता है कि दिया गया पैरामीटर विशिष्ट डेटा टाइप से संबंधित है या नहीं।
एनोनिमस फ़ंक्शन एक फ़ंक्शन है जिसे बिना नाम के परिभाषित किया जाता है। सामान्यतः, Python में फ़ंक्शन्स को 'def' कीवर्ड का उपयोग करके परिभाषित किया जाता है, लेकिन एनोनिमस फ़ंक्शन को 'lambda' कीवर्ड की मदद से परिभाषित किया जाता है। यह एक सिंगल एक्सप्रेशन लेता है, लेकिन किसी भी संख्या में आर्गुमेंट्स ले सकता है। यह एक्सप्रेशन का उपयोग करता है और इसका परिणाम लौटाता है।
map फ़ंक्शन एक दिए गए फ़ंक्शन/ऑपरेशन को इटरेबल (जैसे लिस्ट, टपल) में हर आइटम पर लागू करता है। यह परिणाम के रूप में एक लिस्ट लौटाता है।
'sum' मेथड इटरेबल में मौजूद न्यूमेरिक वैल्यूज़ को जोड़ता है।
उदाहरण
इसके लिए एक प्रदर्शन नीचे दिया गया है:
my_list = [[[11, [[32]], [[[53]]]], [[64], 75]], [[6, 89, 99]]]
flattened_list = lambda my_list: sum(map(flattened_list, my_list), []) if isinstance(my_list, list) else [my_list]
print("The original list is : ")
print(my_list)
print("The flattened list is :")
print(flattened_list(my_list))आउटपुट
The original list is : [[[11, [[32]], [[[53]]]], [[64], 75]], [[6, 89, 99]]] The flattened list is : [11, 32, 53, 64, 75, 6, 89, 99]
व्याख्या
- एक नेस्टेड लिस्ट परिभाषित की जाती है, और कंसोल पर प्रदर्शित की जाती है।
- एलिमेंट्स को 'sum' मेथड का उपयोग करके जोड़ा जाता है, और यह 'map' मेथड का उपयोग करके हर एलिमेंट पर लागू किया जाता है।
- इस ऑपरेशन का परिणाम एक वेरिएबल में असाइन किया जाता है।
- इसे आउटपुट के रूप में कंसोल पर प्रदर्शित किया जाता है।