कभी-कभी, हम ज़िप की गई सूचियों के इंडेक्स जानना चाहते हैं। ऐसे में, हम zip() पर enumerate() का उपयोग कर सकते हैं। लेकिन यह समझना ज़रूरी है कि इनमें से प्रत्येक फ़ंक्शन क्या करता है। Zip सूची तत्वों की प्रत्येक जोड़ी के लिए एक ट्यूपल लौटाता है। Enumerate किसी सूची के प्रत्येक तत्व के लिए एक ट्यूपल लौटाता है। इसलिए, परिणामी संरचना ट्यूपल्स का ट्यूपल होगी:
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
zip(a, b) # [(1, 5), (2, 6), (3, 7), (4, 8)]
enumerate(a) # [(0, 1), (1, 2), (2, 3), (3, 4)]
enumerate(b) # [(0, 5), (1, 6), (2, 7), (3, 8)]
enumerate(zip(a, b)) # [(0, (1, 5)), (1, (2, 6)), (2, (3, 7)), (3, (4, 8))]
# Therefore, we need to loop over the elements with tuples:
for i, (item1, item2) in enumerate(zip(a, b)):
print(f'index: {i} => a[i]={item1} and b[i]={item2}')
# index: 0 => a[i]=1 and b[i]=5
# index: 1 => a[i]=2 and b[i]=6
# index: 2 => a[i]=3 and b[i]=7
# index: 3 => a[i]=4 and b[i]=8
इसलिए, हमें ट्यूपल्स के साथ तत्वों पर लूप करना होगा:
चुनौती
आपको 3 सूचियाँ दी गई हैं, प्रत्येक एक अलग पंक्ति में। आपको उनसे एक नई सूची बनानी है जिसमें उन 3 सूचियों के तत्वों का योग होगा, लेकिन विषम स्थानों पर स्थित मानों को छोड़कर (इंडेक्सिंग 0 से शुरू होती है)।
इनपुट में 3 पंक्तियाँ हैं - प्रत्येक में संख्याएँ स्पेस द्वारा अलग की गई हैं।
प्रोग्राम को एक पंक्ति में परिणामी सूची प्रिंट करनी चाहिए।