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

पायथन में बहु-सूची में समान इंडेक्स पर तत्वों को समूहित करना

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो विभिन्न सूचियों के समान इंडेक्स के तत्वों को एक ही सूची में जोड़ता है। और यहां एक बाधा है। सभी सूचियों की लंबाई समान होनी चाहिए। आइए इसे और अधिक स्पष्ट रूप से समझने के लिए एक उदाहरण देखें।

इनपुट

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

आउटपुट

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

हम इसे विभिन्न तरीकों से हल कर सकते हैं। आइए देखते हैं कि सामान्य लूप के साथ कैसे हल करें।

  • सूचियों वाली सूची आरंभ करें।
  • एक खाली सूची आरंभ करें।
  • index वेरिएबल को 0 से आरंभ करें।
  • उप सूची की लंबाई बार पुनरावृति करें
    • पिछली सूची में एक खाली उपसूची जोड़ें
    • सूचियों की लंबाई बार पुनरावृति करें।
      • **lists[current_index][index]** को **result[index]** में जोड़ें
  • परिणाम प्रिंट करें।

उदाहरण

# सूची आरंभ करना
lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# खाली सूची
result = []
# वेरिएबल को 0 से आरंभ करना
index = 0
# उप_सूची की लंबाई (3) बार पुनरावृति
for i in range(len(lists[0])):
    # एक खाली उप_सूची जोड़ना
    result.append([])
    # सूचियों की लंबाई (3) बार पुनरावृति
    for j in range(len(lists)):
        # तत्व को परिणाम में जोड़ना
        result[index].append(lists[j][index])
# अगले इंडेक्स पर जाना
index += 1
# परिणाम प्रिंट करना
print(result)

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा।

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

हम इसे zip फ़ंक्शन का उपयोग करके बिना किसी प्रयास के हल कर सकते हैं। zip फ़ंक्शन आपको सभी इंडेक्स तत्वों को एक टपल में देता है जैसा हम चाहते हैं। आइए कोड देखें।

उदाहरण

# सूची आरंभ करना
lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# zip का उपयोग करके और प्रिंट करना
print(list(zip(*lists)))

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा।

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

हम टपल्स को सूची में बदलने के लिए सूचियों पर पुनरावृति कर सकते हैं। इसे अलग तरीके से किया जा सकता है। हम सभी टपल्स को सूचियों में बदलने के लिए map नामक एक और फ़ंक्शन का उपयोग करेंगे। यह एक लाइन का कोड है।

उदाहरण

# सूची आरंभ करना
lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# zip का उपयोग करके और प्रिंट करना
print(list(map(list, zip(*lists))))

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा।

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

हमने सूची पर पुनरावृति करने और प्रत्येक टपल को सूची में बदलने के लिए map का उपयोग किया है। आप इसे लूप के साथ भी कर सकते हैं। इसे आज़माएं।

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई संदेह हैं, तो उन्हें टिप्पणी अनुभाग में उल्लेख करें।

  1. - पायथन में रेंज में तत्व हटाएं

    पायथन से एकल तत्व को हटाना इंडेक्स और del फंक्शन का उपयोग करके सीधा है। लेकिन ऐसे परिदृश्य हो सकते हैं जब हमें इंडेक्स के एक समूह के लिए तत्वों को हटाने की आवश्यकता हो। यह लेख उन दृष्टिकोणों का पता लगाता है जिनसे केवल उन तत्वों को सूची से हटाया जाए जो इंडेक्स सूची में निर्दिष्ट हैं। sort और del का

  1. - Python में सूचकांक के आधार पर सूची तत्वों को बहु-सूची में जोड़ें

    सूचियाँ नेस्टेड हो सकती हैं। जिसका अर्थ है हमारे पास एक बड़ी सूची के अंदर तत्वों के रूप में छोटी सूचियाँ हैं। इस लेख में हम एक साधारण सूची के तत्वों को नेस्टेड सूची के तत्वों में जोड़ने की चुनौती को हल करते हैं। यदि सूचियों की लंबाई अलग है तो छोटी सूची की लंबाई परिणामी सूची की अधिकतम लंबाई बन जाती ह

  1. - पायथन - जांचें कि लिस्ट में सभी तत्व समान हैं या नहीं

    कभी-कभी हमें यह जांचने की आवश्यकता होती है कि क्या लिस्ट में एक ही मान सभी तत्वों के रूप में दोहराया गया है। हम नीचे दिए गए पायथन प्रोग्राम का उपयोग करके ऐसे परिदृश्य की जांच कर सकते हैं। अलग-अलग दृष्टिकोण हैं। for लूप का उपयोग इस विधि में हम लिस्ट से पहला तत्व लेते हैं और पारंपरिक for लूप का उपयोग