Python के सबसे बड़े फायदों में से एक है कि यह अपने डेटा प्रकारों के साथ काम करने के लिए ढेर सारे उपकरण प्रदान करता है। जब कई सूचियों के साथ काम करते हैं, तो कभी-कभी उन पर लूप लगाना और सभी सूचियों के मूल्यों के आधार पर कुछ ऑपरेशन करना आवश्यक होता है। यह सूचकांकों पर इटररेट करके और फिर तत्वों तक पहुंचकर किया जा सकता है, या बिल्ट-इन zip फ़ंक्शन का उपयोग करके।
heights = [180, 190, 178]
weights = [89, 92, 77]
for i in range(len(heights)):
h, w = heights[i], weights[i]
print(h, '=>', w)
heights = [180, 190, 178]
weights = [89, 92, 77]
for h, w in zip(heights, weights):
print(h, '=>', w)
zip फ़ंक्शन पास की गई सूचियों के तत्वों से ट्यूपल बनाता है। यह किसी भी संख्या की सूचियों को संभाल सकता है। तो, हम zip(list1, list2, list3, ..., listn) का उपयोग कर सकते हैं। यह ट्यूपल बनाएगा, जिनमें से प्रत्येक में n तत्व होंगे यदि zip को n सूचियाँ पास की गई हैं।
ध्यान दें कि यह सबसे छोटी सूची तक तत्वों को ज़िप करता है। इसलिए यदि हम दो सूचियाँ प्रदान करते हैं जहाँ एक दूसरी से छोटी है, तो दूसरी वाली के आखिरी अतिरिक्त तत्वों को नजरअंदाज कर दिया जाएगा।
यदि हम इसके बारे में सख्त होना चाहते हैं और लंबी सूचियों को ट्रिम करने की अनुमति नहीं देना चाहते हैं, तो हम अतिरिक्त strict=True आर्गुमेंट देकर Python को बता सकते हैं कि यदि ऐसा होता है तो एक त्रुटि उत्पन्न करे:
heights = [180, 190]
names = ['Bob', 'Liza', 'Anna']
for h, name in zip(heights, names, strict=True):
print(name, '=>', h)
# ValueError: zip() argument 2 is longer than argument 1
चुनौती
इनपुट में 3 सूचियाँ हैं, प्रत्येक एक अलग पंक्ति में। सूचियों के तत्व एक स्पेस से अलग किए गए हैं। यह सुनिश्चित है कि सूचियों में तत्वों की संख्या समान है।
प्रोग्राम को उन 3 सूचियों के उत्पादों को शामिल करने वाली एक नई सूची प्रिंट करनी चाहिए।