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