पायथन इटरेशन रिफ्रेशर
पायथन में, हम इटरेट शब्द का उपयोग तब वर्णन करने के लिए करते हैं जब प्रोग्राम लिस्ट के माध्यम से चल रहा होता है। उदाहरण के लिए, मान लें कि आपके पास for लूप है जो कंपनी द्वारा संचालित हर शाखा का नाम प्रिंट करता है। हम कहेंगे कि हमारा प्रोग्राम नामों की लिस्ट के माध्यम से इटरेट कर रहा है।
दूसरी ओर, इटरेबल, एक ऑब्जेक्ट है जो अपने मेंबर आइटम्स को व्यक्तिगत रूप से रिटर्न कर सकता है। एरे इटरेबल हैं क्योंकि आप for लूप का उपयोग करके प्रत्येक आइटम को व्यक्तिगत रूप से प्रिंट कर सकते हैं।
पायथन zip फंक्शन
zip() फंक्शन दो या अधिक इटरेबल्स के कंटेंट को जोड़ता है। zip() zip ऑब्जेक्ट रिटर्न करता है। यह टुपल्स का इटरेरेटर है जहां आपके द्वारा आर्गुमेंट्स के रूप में पास किए गए सभी मान पेयर्स के रूप में स्टोर होते हैं।
पायथन का zip() फंक्शन इटरेबल लेता है - जैसे लिस्ट, टुपल, सेट, या डिक्शनरी - आर्गुमेंट के रूप में। फंक्शन टुपल्स की लिस्ट जनरेट करेगा जिसमें आपके द्वारा फंक्शन में पास किए गए प्रत्येक इटरेबल से एलिमेंट्स होंगे।
zip() फंक्शन का सिंटैक्स इस प्रकार है:
zip(iterable1, iterable2, ...)
आप जितने चाहें उतने इटरेबल्स शामिल कर सकते हैं। आपको उन इटरेबल्स को निर्दिष्ट करना होगा जिन्हें आप zip() फंक्शन के आर्गुमेंट्स के रूप में मर्ज करना चाहते हैं।
zip() मेथड तब तक एक्जीक्यूट होता रहता है जब तक इटरेबल ऑब्जेक्ट्स पूरी तरह से जिप नहीं हो जाते। यह तब होता है जब इटरेबल्स समाप्त हो जाते हैं। दूसरे शब्दों में, zip() मेथड तब रुकता है जब सभी संभावित पेयर्स बन जाते हैं।
zip पायथन उदाहरण
मान लें कि आपके पास दो पायथन लिस्ट्स हैं। एक लिस्ट में कर्मचारी नाम हैं और दूसरी लिस्ट में कर्मचारी नंबर हैं। आप दोनों लिस्ट्स को टुपल्स के एरे में मर्ज करना चाहते हैं। यह आपको कर्मचारी नाम और नंबर को साथ-साथ स्टोर करने देगा।
हम अपने दो लिस्ट्स को मर्ज करने के लिए zip() फंक्शन का उपयोग कर सकते हैं। यहां एक उदाहरण प्रोग्राम है जो इस डेटा को मर्ज करेगा:
employee_numbers = [2, 9, 18, 28] employee_names = ["Candice", "Ava", "Andrew", "Lucas"] zipped_values = zip(employee_names, employee_numbers) zipped_list = list(zipped_values) print(zipped_list)
हमारा zip फंक्शन निम्नलिखित रिटर्न करता है:
[('Candice', 2), ('Ava', 9), ('Andrew', 18), ('Lucas', 28)]
हमारे प्रोग्राम ने टुपल आइटम्स का एरे बनाया है। प्रत्येक टुपल में कर्मचारी का नाम और संबंधित कर्मचारी नंबर होता है।
हमारे कोड की पहली दो लाइन्स पर, हम वेरिएबल्स घोषित करते हैं जो हमारे कर्मचारी नंबर और कर्मचारी नाम स्टोर करते हैं।
अगला, हम zip() फंक्शन करते हैं। यह फंक्शन हमारे दो लिस्ट्स को एक साथ मर्ज करता है और टुपल्स का नया एरे बनाता है।
हम अपने zip आइटम को लिस्ट में बदलते हैं। ऐसा इसलिए है क्योंकि zip() फंक्शन zip ऑब्जेक्ट रिटर्न करता है। हम zip ऑब्जेक्ट पर इटरेट कर सकते हैं। हालांकि, हम zip को कंसोल पर प्रिंट नहीं कर सकते और इसके कंटेंट को पढ़ने योग्य रूप में देख सकते हैं। हमें अपने zip ऑब्जेक्ट को लिस्ट में बदलना होगा, ताकि हम कंसोल से zip के कंटेंट देख सकें।
हम बता सकते हैं कि हमारा zipped_values zip() आइटम है निम्न कोड को हमारे ऊपर के प्रोग्राम में जोड़कर:
print(type(zipped_values))
हमारा कोड निम्न जिप्ड क्लास रिटर्न करता है:
<class 'zip'>
ऊपर के उदाहरण में, हमने दो आइटम्स को एक साथ जिप किया। हालांकि, यदि हमारे पास अधिक था जिसे हम जिप करना चाहते थे, तो हम वह भी कर सकते थे। हम केवल अपने zip() फंक्शन में आइटम्स की दूसरी लिस्ट पास करेंगे।
पायथन में zip का उपयोग करके इटरेबल्स पर लूप करना
zip() फंक्शन इटरेरेटर रिटर्न करता है। इसका मतलब है कि हम प्रत्येक जिप्ड आइटम के कंटेंट को व्यक्तिगत रूप से देख सकते हैं।
कई इटरेबल्स के साथ काम करना पायथन में zip() फंक्शन के सबसे लोकप्रिय उपयोग केस में से एक है। उदाहरण के लिए, यदि आप कई लिस्ट्स के माध्यम से जाना चाहते हैं, तो आप zip() फंक्शन का उपयोग करना चाह सकते हैं।
आइए zip() फंक्शन का उपयोग करके हमारे employee_numbers और employee_names दोनों लिस्ट्स पर इटरेट करें:
employee_numbers = [2, 9, 18, 28]
employee_names = ["Candice", "Ava", "Andrew", "Lucas"]
for name, number in zip(employee_names, employee_numbers):
print(name, number)
हमारा कोड निम्नलिखित रिटर्न करता है:
Candice 2 Ava 9 Andrew 18 Lucas 28
हमारा प्रोग्राम zip() द्वारा रिटर्न की गई टुपल्स की लिस्ट के माध्यम से इटरेट करता है, और उन्हें दो मानों में विभाजित करता है: name और number।
यह हमारे लिए एक साथ कई इटरेबल ऑब्जेक्ट्स के माध्यम से इटरेट करना आसान बनाता है। हम अब प्रत्येक कर्मचारी नाम को उनके संबंधित कर्मचारी नंबर के साथ देख सकते हैं। यदि हम चाहते थे, तो हम इसका उपयोग तीन या अधिक इटरेबल ऑब्जेक्ट्स के माध्यम से इटरेट करने के लिए कर सकते थे।
पायथन में मान अनजिप करें
हमारे कोड में, हमने विभिन्न प्रकार के डेटा को जिप किया है। लेकिन हम डेटा को उसके पिछले रूप में कैसे रिस्टोर करते हैं? यदि आपके पास टुपल्स की लिस्ट है - या जिप्ड मान - जिन्हें आप विभाजित करना चाहते हैं, तो आप zip() फंक्शन के अनपैकिंग ऑपरेटर का उपयोग कर सकते हैं। यह एस्टेरिस्क * है जिसे zip() फंक्शन के साथ संयोजन में उपयोग किया जाता है।
यहां zip() अनपैकिंग ऑपरेटर का उदाहरण है:
employees_zipped = [('Candice', 2), ('Ava', 9), ('Andrew', 18), ('Lucas', 28)]
employee_names, employee_numbers = zip(*employees_zipped)
print(employee_names)
print(employee_numbers)
हमारा कोड निम्न आउटपुट रिटर्न करता है:
('Candice', 'Ava', 'Andrew', 'Lucas')
(2, 9, 18, 28)
हमारे कोड की पहली लाइन पर, हम वेरिएबल परिभाषित करते हैं जिसमें टुपल्स की लिस्ट शामिल है। फिर, अगली लाइन पर, हम दो वेरिएबल्स परिभाषित करते हैं। ये वेरिएबल्स employee_names और employee_numbers हैं। हम इन वेरिएबल्स को हमारे अनजिप फंक्शन से मान असाइन करते हैं।
अनजिप फंक्शन एक zip फंक्शन है जो हमारे employees_zipped वेरिएबल को लेता है, अनपैकिंग ऑपरेटर * का उपयोग करके zip को अनपैक करता है। हमारे ऊपर के उदाहरण में, हम अपने दो नए वेरिएबल्स प्रिंट करते हैं जिनमें हमारे कर्मचारी नाम और कर्मचारी नंबर होते हैं।
निष्कर्ष
zip() फंक्शन इटरेबल ऑब्जेक्ट्स को इनपुट के रूप में प्राप्त करता है और उन्हें zip() ऑब्जेक्ट में जोड़ता है। यह zip() ऑब्जेक्ट प्रत्येक इटरेबल इनपुट से मानों को साथ-साथ प्रदर्शित करता है। यह उपयोगी हो सकता है यदि आपके पास दो या अधिक एरे या टुपल्स हैं जिन्हें आप एक में मर्ज करना चाहते हैं।
हमने चर्चा की कि शून्य या एक इनपुट के साथ zip() फंक्शन का उपयोग कैसे करें। आप इटरेबल्स पर लूप करने के लिए zip() का उपयोग कर सकते हैं और आप उस डेटा को अनजिप कर सकते हैं जिसे आपने पहले ही जिप कर लिया है। आप अब पायथन zip() फंक्शन के मास्टर बनने की राह पर हैं।
पायथन सॉफ्टवेयर डेवलपमेंट भाषा सीखने पर अधिक टिप्स और सलाह के लिए हमारा How to Code in Python गाइड पढ़ें।