क्रमांक और दो सूचियाँ जोड़ना
सूची names में lida है, फिर guest। drinks में water है, फिर tea। zip हर सूची की पहली चीज़ साथ देता है, फिर दूसरी, और छोटी सूची खत्म होते ही रुक जाता है। enumerate हर नाम के पास एक नंबर रखता है। दूसरा आरंभ न दें तो वह नंबर 0 है। for एक तैयार पंक्ति पर चलता था। break और continue नंबर नहीं देते और दो सूचियाँ नहीं जोड़ते।
names में दो स्ट्रिंग हैं। enumerate(names) हर चक्कर में एक नंबर और एक नाम देता है। पहला नंबर 0 है, क्योंकि दूसरा आरंभ नहीं बताया। print दोनों को एक ही पंक्ति में लिखता है।
names = ["lida", "guest"]
for number, name in enumerate(names):
print(number, name)
आप 0 lida, फिर 1 guest देखते हैं। 0 और 1 names के अंदर सहेजे नहीं गए। names वही दो स्ट्रिंग हैं। नंबर केवल उसी चक्कर का है।
गिनती 1 से शुरू करें
1 को दूसरा तर्क दीजिए। enumerate(names, 1) लिखता है 1 lida, फिर 2 guest। नामों का क्रम नहीं हिलता। केवल गिनती बदलती है। दूसरा तर्क न लिखें तो फिर 0 से शुरू होता है।
zip दो सूचियाँ लेता है और हर एक से एक चीज़, उसी क्रम में। पहला नाम lida है और पहला पेय water। अगला चक्कर guest के साथ tea है। यहाँ नंबर नहीं है, जब तक आप enumerate भी न बुलाएँ। यह प्रोग्राम उसे नहीं बुलाता।
names = ["lida", "guest"]
drinks = ["water", "tea"]
for name, drink in zip(names, drinks):
print(name, drink)
आप lida water, फिर guest tea देखते हैं। जोड़ी सूची के क्रम से बनती है, नाम के अर्थ से नहीं। पेय बदल दें तो जोड़ी भी बदल जाती है।
छोटी सूची लूप खत्म कर देती है
drinks में केवल water रखिए। zip दोनों सूचियों के आगे से शुरू करता है, इसलिए पहला चक्कर lida के साथ water है। दूसरा पेय नहीं है। zip नया पेय नहीं बनाता और त्रुटि भी नहीं देता। guest तक पहुँच ही नहीं होती, और लूप खत्म हो जाता है।
names = ["lida", "guest"]
drinks = ["water"]
for name, drink in zip(names, drinks):
print(name, drink)
एक ही पंक्ति है: lida water। guest अब भी names में है। उसके पास पेय नहीं था, इसलिए यह लूप उस नाम तक नहीं पहुँचा।
चार कॉल, और हर एक क्या लिखता है। enumerate की दो पंक्तियाँ केवल आरंभ में अलग हैं। zip की दो पंक्तियाँ केवल drinks की लंबाई में।
📊 हर कॉल क्या लिखती है
| कॉल | आप क्या देखते हैं |
|---|---|
| enumerate(names) | 0 के साथ lida, फिर 1 के साथ guest |
| enumerate(names, 1) | 1 के साथ lida, फिर 2 के साथ guest |
| zip, drinks में water फिर tea | lida के साथ water, फिर guest के साथ tea |
| zip, drinks में केवल water | lida के साथ water, फिर लूप खत्म |
अगला पन्ना फ़ंक्शन के बारे में है: एक काम जिसका नाम हो, और जिसे आप बाद में बुला सकें। वह सूची को नंबर नहीं देता और दो सूचियाँ नहीं जोड़ता।
चलाने से पहले हिसाब लगाइए
- names है lida, फिर guest। enumerate(names) कौन सी पंक्तियाँ लिखता है?
- आप आरंभ 1 देते हैं। पहली पंक्ति क्या है?
- drinks है water, फिर tea। zip की दूसरी पंक्ति क्या है?
- drinks में केवल water है। क्या guest लिखा जाता है? क्या प्रोग्राम त्रुटि से रुकता है?
जहाँ जोड़ गड़बड़ाते हैं
- आरंभ 1 की उम्मीद, जब आपने आरंभ दिया ही नहीं
- यह समझना कि नंबर वापस सूची में सहेज लिया जाता है
- lida को tea से जोड़ना, क्योंकि tea जँचता है
- guest की उम्मीद, जब drinks में एक ही चीज़ हो
- जल्दी रुकना को त्रुटि मान लेना
enumerate एक सूची चलता है और नंबर जोड़ता है। आरंभ के बिना नंबर 0 है, फिर 1: 0 के साथ lida, फिर 1 के साथ guest। 1 दे दें तो वही नाम 1 और 2 के साथ आते हैं।
zip दो सूचियाँ साथ-साथ चलता है। बराबर लंबाई पर lida के साथ water, फिर guest के साथ tea। drinks में केवल water हो तो lida water लिखा जाता है और लूप खत्म। guest names में रहता है, इस लूप की पहुँच से बाहर।
अगला पन्ना एक काम को नाम देता है, ताकि आप उसे बुला सकें।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी