पायथन कई चलने योग्य वस्तुओं का समर्थन करता है: सूचियाँ, टुपल्स और तार कुछ ही हैं। इन वस्तुओं को आसानी से संभालने के लिए पायथन का लूप काफी लचीला है। विशेष रूप से, यह आपको प्रत्येक प्रविष्टि के संख्यात्मक सूचकांक से निपटने से बचाता है।
लेकिन कभी-कभी, उदाहरण के लिए, आप किसी संग्रह में आइटम गिनने या फ़िल्टर करने के लिए एक इंडेक्स के साथ काम करना चाहेंगे। जानें कि आप इंडेक्स और तत्व दोनों का ट्रैक रखते हुए अनुक्रम पर पुनरावृति करने के लिए पायथन एन्यूमरेट फ़ंक्शन का उपयोग कैसे कर सकते हैं।
गणना के बिना पुनरावृति ()
निम्नलिखित पायथन सूची पर विचार करें।
my_fruits = ["सेब", "नाशपाती", "केले"]
मान लीजिए कि आप सूची में प्रत्येक तत्व की गिनती का ट्रैक रखना चाहते हैं। आप ऐसा कर सकते हैं लूप के लिए उपयोग करें के साथ सीमा() इस तरह समारोह।
गिनती = 0
के लिये फल में रेंज (लेन (my_fruits)):
प्रिंट (गिनती, my_fruits[गिनती])
गिनती += 1
जबकि यह काम करता है, इसमें कुछ कमियां हैं:
- आपको लूप के बाहर की गिनती पर नज़र रखनी होगी।
- आपको प्रत्येक पुनरावृत्ति में गिनती बढ़ानी होगी।
- आपको लूप की लंबाई की गणना करनी होगी।
- रेंज (लेन ()) केवल गणनीय, अनुक्रमित वस्तुओं के साथ काम करता है।
एक बेहतर समाधान मौजूद है: एन्यूमरेट () फ़ंक्शन।
कैसे एन्यूमरेट () पायथन में काम करता है
अजगर गणना () फ़ंक्शन डेटा संग्रह लेता है और एक एन्यूमरेट ऑब्जेक्ट देता है। एन्यूमरेट ऑब्जेक्ट में ऑब्जेक्ट में शामिल प्रत्येक आइटम के लिए एक कुंजी के रूप में एक काउंटर होता है। गणना () फ़ंक्शन प्रत्येक आइटम को एक गिनती निर्दिष्ट करके ऐसा करता है। यह गिनती उस मान तक पहुंचने के लिए फ़ंक्शन द्वारा पूर्ण किए गए पुनरावृत्तियों की संख्या से मेल खाती है।
यह काउंटर संग्रह में आइटम तक पहुंचना आसान बनाता है या जहां संभव हो वहां संग्रह को बदल देता है।
साथ गणना (), आपको लूप की लंबाई या पुनरावृत्ति गणना का ट्रैक रखने की आवश्यकता नहीं है। आप इंडेक्स ऑपरेटर का उपयोग करके मूल्य को स्पष्ट रूप से एक्सेस करने से भी बच सकते हैं, जैसे फल [गिनती]. एन्यूमरेट फ़ंक्शन स्वचालित रूप से इन सभी सुविधाओं को संभालता है।
पायथन एन्यूमरेट का सिंटैक्स ()
नीचे एन्यूमरेट () फ़ंक्शन के लिए सामान्य सिंटैक्स है।
गणना (पुनरावृत्तीय, प्रारंभ =0)
enumerate() दो तर्क लेता है:
- iterable: एक डेटा संग्रह या अनुक्रम जिसे पायथन पुनरावृत्त कर सकता है। उदा. एक सूची या टपल।
- प्रारंभ: वह सूचकांक जिससे गणना कार्य शुरू होना चाहिए।
कैसे एन्यूमरेट () लागू किया जाता है
समझने के लिए कैसे गणना () काम करता है, आइए देखें कि इसे वास्तव में कैसे लागू किया जाता है।
डीईएफ़की गणना(अनुक्रम, प्रारंभ =0):
एन = प्रारंभ
के लिये हाथी में क्रम:
पैदावार एन, तत्व
एन += 1
यह फ़ंक्शन, जिसे आप में पा सकते हैं पायथन एन्यूमरेट प्रलेखन, एक अनुक्रम और एक प्रारंभ तर्क लेता है जो डिफ़ॉल्ट रूप से 0.
फ़ंक्शन तब n वेरिएबल को स्टार्ट वेरिएबल में इनिशियलाइज़ करता है। यह पुनरावृत्तियों की संख्या का ट्रैक रखता है।
अनुक्रम में प्रत्येक तत्व के लिए अनुसरण करने वाले लूप के लिए,
- पैदावार लूप निष्पादन को रोकता है।
- यह वर्तमान गणना (n), और मान (elem) भी लौटाता है।
- जब लूप फिर से शुरू होता है, तो यह n बढ़ाता है।
वापसी मूल्य कुंजी-मूल्य जोड़े का एक ऑब्जेक्ट है।
अगर आपको कॉल करना था गणना () फ़ंक्शन और इसे फलों की सूची पास करें, यह आउटपुट मान होगा।
my_fruits = ["सेब", "नाशपाती", "केले"]
enumerate_object = एन्यूमरेट (my_fruits)
प्रिंट (सूची (enumerate_object))
# आउटपुट - [(0, 'सेब'), (1, 'नाशपाती'), (2, 'केले')]
एक अलग प्रारंभिक सूचकांक के साथ गणना करें
उपरोक्त उदाहरण में, हमने प्रारंभिक सूचकांक निर्दिष्ट नहीं किया है। नीचे दिया गया उदाहरण आपको दिखाता है कि आप शुरुआती इंडेक्स को अपनी पसंद की संख्या में कैसे सेट कर सकते हैं।
10 से शुरू करने के लिए, निम्न कार्य करें।
enumerate_object = एन्यूमरेट (my_fruits, 10)
प्रिंट (सूची (enumerate_object))
# आउटपुट - [(10, 'सेब'), (11, 'नाशपाती'), (12, 'केले')]
पायथन एन्यूमरेट () उदाहरण
यहां कुछ उदाहरण दिए गए हैं जो दिखा रहे हैं कि आप इसका उपयोग कैसे कर सकते हैं गणना () पायथन में।
एक पायथन स्ट्रिंग की गणना करें
इस उदाहरण में, आप इंडेक्स 5 पर अक्षर को पुनः प्राप्त करने के लिए एन्यूमरेट का उपयोग करेंगे:
my_string = "मेकयूज़ऑफ़"
के लिये गिनती, मान में गणना (my_string):
यदि गिनती == 5:
प्रिंट (मूल्य)
# आउटपुट - s
एक पायथन टुपल की गणना करें
आप भी उपयोग कर सकते हैं गणना () a. पर पुनरावृति करना पायथन टपल. इस उदाहरण में, प्रोग्राम आइटम को प्रदर्शित करने से पहले, पहले पुनरावृत्ति में एक हेडर प्रिंट करता है।
my_fruits_tuple = ("सेब", "नाशपाती", "केले")
के लिये सूचकांक, मूल्य में गणना (my_fruits_tuple):
यदि (सूचकांक == 0):
प्रिंट ("फल:")प्रिंट (मान)
/*
फल:
सेब
रहिला
केले
*/
एक पायथन सूची की गणना करें
नीचे दिए गए उदाहरण में, आप 10 से ऊपर की सूची में सभी संख्याओं को घटाने के लिए एन्यूमरेट का उपयोग कर रहे हैं।
my_number_list = [10, 17, 15, 6]
के लिये सूचकांक, मूल्य में गणना (my_number_list):
यदि (मान> 10):
my_number_list[सूचकांक] -= 2प्रिंट (my_number_list)
# आउटपुट - [10, 15, 13, 6]
अपने Iterables को गिनने के लिए एन्यूमरेट का उपयोग करें
पायथन में शामिल हैं गणना () एक अंतर्निहित फ़ंक्शन के रूप में। आप इसे पुनरावृति करने और सूची, टपल, या स्ट्रिंग जैसे पुनरावृत्त संग्रह में आइटम गिनने के लिए उपयोग कर सकते हैं। यह आपको प्रत्येक तत्व की वास्तविक अनुक्रमणिका का ट्रैक रखने में मदद कर सकता है, लेकिन आप अपना स्वयं का प्रारंभिक अनुक्रमणिका भी निर्दिष्ट कर सकते हैं। इसे के विकल्प के रूप में प्रयोग करें सीमा() फ़ंक्शन यदि आप उन वस्तुओं के साथ काम कर रहे हैं जो गणनीय और अनुक्रमित ऑब्जेक्ट नहीं हैं।