Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

रिकर्सन का उपयोग करके नेस्टेड लिस्ट को फ्लैटेन करने के लिए Python प्रोग्राम


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

    जब रिकर्सन तकनीक का उपयोग करके स्ट्रिंग को रिवर्स करने की आवश्यकता होती है, तो रिकर्सन के साथ एक यूज़र-डिफाइंड मेथड का उपयोग किया जाता है।रिकर्सन बड़ी समस्या के छोटे-छोटे टुकड़ों का आउटपुट कंप्यूट करता है, और इन टुकड़ों को बड़ी समस्या का समाधान देने के लिए जोड़ता है।उदाहरणइसके लिए एक प्रदर्शन नीचे द

  1. - Python - 2D लिस्ट को फ्लैटर्न (1D में बदलना) करने के तरीके

    लिस्ट एक कलेक्शन है जो ऑर्डर्ड और चेंजेबल होता है। Python में लिस्ट को स्क्वायर ब्रैकेट्स के साथ लिखा जाता है। आप इंडेक्स नंबर को रेफर करके लिस्ट आइटम्स को एक्सेस करते हैं। नेगेटिव इंडेक्सिंग का मतलब अंत से शुरू होता है, -1 लास्ट आइटम को रेफर करता है। आप रेंज की शुरुआत और अंत को स्पेसिफाई करके इंडेक

  1. - पायथन में नेस्टेड लिस्ट इटरेटर को फ्लैट करें

    मान लीजिए हमारे पास पूर्णांकों की एक नेस्टेड लिस्ट है; हमें इसे फ्लैट करने के लिए एक इटरेटर लागू करना है। प्रत्येक एलिमेंट या तो एक इंटीजर है, या एक लिस्ट। उस लिस्ट के एलिमेंट्स भी इंटीजर या अन्य लिस्ट हो सकते हैं। इसलिए यदि इनपुट [[1, 1], 2, [1, 1]] जैसा है, तो आउटपुट [1, 1, 2, 1, 1] होगा।इसे हल कर