index() फ़ंक्शन क्या है?
index() मेथड सूची में वह सबसे न्यूनतम इंडेक्स लौटाता है जहाँ खोजा गया तत्व मिलता है।
आइए इसे आज़माते हैं:
यदि ऐसा कोई तत्व खोजा जाए जो मौजूद न हो, तो यह ValueError लौटाता है।
स्ट्रिंग्स के साथ काम करना
आइए इसे स्ट्रिंग तत्वों के साथ आज़माएँ:
नोट: स्ट्रिंग खोजते समय, index() केस-सेंसिटिव होता है। उदाहरण के लिए, 'Hello'.index('h') एक ValueError उठाएगा।
पहले अवतरण को ढूँढना
मान लें कि किसी तत्व की एक से अधिक आवृत्तियाँ हैं, तो index() आपको उस तत्व के मिलने की पहली स्थिति देगा।
वापस मिली स्थिति 0 है, क्योंकि 3 पहली बार पहली पोजीशन, यानी Python में 0वें इंडेक्स पर आता है।
आंतरिक रूप से यह होता है: इंडेक्स पहली पोजीशन (0वें इंडेक्स) से सभी मानों के माध्यम से गुजरता है, उस तत्व को ढूँढने के लिए जिसकी आप तलाश कर रहे हैं। जैसे ही मान मिलता है—यह पोजीशन लौटाता है और प्रक्रिया से बाहर निकल जाता है। हालाँकि, जब सूची बहुत बड़ी हो और आपको सूची के अंत के पास किसी चीज़ की स्थिति चाहिए, तो यह बहुत कुशल नहीं है।
Start और Stop पैरामीटर का उपयोग
तो सिंटैक्स है: list_name.index(element, start, stop)।
यहाँ start और stop मान वैकल्पिक हैं। वास्तव में, इन्हें तभी उपयोग करें जब रेंज के बारे में पूरी तरह सुनिश्चित हों; अन्यथा, आपको नीचे दिखाए अनुसार ValueError मिलेगा।
सभी आवृत्तियाँ ढूँढना
क्योंकि index() केवल किसी ऑब्जेक्ट के पहले मेल का इंडेक्स लौटाता है, यदि आपको सूची में और अधिक मेलों की पोजीशन चाहिए, तो आप सूची समग्रता (list comprehension) या जनरेटर एक्सप्रेशन का उपयोग कर सकते हैं। इस प्रकार:
list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
g = (i for i, n in enumerate(list_numbers) if n == 3) # Generator expression
print("Generators store values, the first value here is:", next(g), ". Then the next is:", next(g), "followed by ", next(g),"and finally ", next(g))
# Generators store values, the first value here is: 0. Then the next is: 3 followed by 4 and finally 8जनरेटर मेमोरी-कुशल होते हैं क्योंकि वे सभी परिणामों को संग्रहित करने के बजाय एक समय में एक आइटम उपलब्ध कराते हैं, जबकि सूची समग्रता सभी परिणामों को संग्रहीत करती है।
अंतिम विचार
बधाई हो, आपने Python में index() फ़ंक्शन के बारे में सीख लिया! आपने देखा कि यह सूचियों के साथ काम करने में कैसे मदद करता है। आपने कुछ नए सिद्धांतों का परिचय भी पाया। सूची समग्रता पर और अधिक के लिए, हमारा Python List Comprehension ट्यूटोरियल देखें। जनरेटर और जनरेटर एक्सप्रेशन पर अधिक जानकारी के लिए हमारा Python Iterator Tutorial देखें।

मैंने विभिन्न उद्योगों में काम किया है और कई भूमिकाएँ निभाई हैं: सॉफ़्टवेयर डेवलपर, मशीन लर्निंग शोधकर्ता, डाटा साइंटिस्ट, प्रोडक्ट मैनेजर। लेकिन मूल रूप से, मैं एक प्रोग्रामर हूँ जिसे सीखना और ज्ञान बाँटना पसंद है!
FAQs
यदि कई मान उस तत्व से मेल खाते हैं जिसकी मैं खोज कर रहा/रही हूँ, तो क्या होगा?
index() मेथड केवल मिलान करने वाले तत्व की पहली आवृत्ति का इंडेक्स लौटाता है। यदि आपको सभी पोजीशन चाहिए, तो enumerate() के साथ सूची समग्रता का उपयोग करें।
क्या मैं tuples या strings के साथ index() का उपयोग कर सकता/सकती हूँ?
क्या ValueError को सहज तरीके से संभालने का कोई तरीका है?
मैं सूची के अंत से कैसे खोज सकता/सकती हूँ?
index() और find() में क्या अंतर है?
क्या मैं नेस्टेड सूचियों के साथ index() का उपयोग कर सकता/सकती हूँ?
"list index out of range" त्रुटि क्या है?
"list index out of range" त्रुटि तब होती है जब आप किसी ऐसे इंडेक्स तक पहुँचने की कोशिश करते हैं जो सूची के मान्य इंडेक्स रेंज के बाहर हो। उदाहरण के लिए, यदि किसी सूची में 5 तत्व हैं, तो मान्य इंडेक्स 0 से 4 तक होंगे। यदि आप 5 के बराबर या उससे बड़े इंडेक्स तक पहुँचने की कोशिश करते हैं, तो यह त्रुटि मिलेगी।
इस त्रुटि से बचने के लिए, सुनिश्चित करें कि जिस इंडेक्स तक आप पहुँचने की कोशिश कर रहे हैं, वह सूची के मान्य इंडेक्स रेंज में हो। आप len() फ़ंक्शन का उपयोग करके सूची की लंबाई प्राप्त कर सकते हैं और जाँच सकते हैं कि कोई इंडेक्स मान्य रेंज में है या नहीं।
"list indices must be integers" त्रुटि क्या है?
"list indices must be integers" त्रुटि तब होती है जब आप किसी गैर-पूर्णांक मान को सूची इंडेक्स के रूप में उपयोग करने की कोशिश करते हैं। उदाहरण के लिए, यदि आप फ्लोटिंग-पॉइंट संख्या या स्ट्रिंग को सूची इंडेक्स के रूप में उपयोग करेंगे, तो यह त्रुटि मिलेगी।
इस त्रुटि से बचने के लिए, सुनिश्चित करें कि आप सूची इंडेक्स के रूप में पूर्णांक मान का उपयोग कर रहे हैं। यदि आपको गैर-पूर्णांक मान को इंडेक्स के रूप में उपयोग करने की आवश्यकता है, तो आप उसे int() फ़ंक्शन का उपयोग करके पूर्णांक में बदल सकते हैं।
Python में, डेटा स्ट्रक्चर आपको डेटा को प्रभावी ढंग से व्यवस्थित और संग्रहित करने में मदद करता है। एक सामान्य और बहुमुखी स्ट्रक्चर सूची (list) है, जो विशिष्ट क्रम में अलग-अलग प्रकार का डेटा रख सकती है। Python सूचियों के साथ काम करने के लिए कई फ़ंक्शन या मेथड भी प्रदान करता है।
इस ट्यूटोरियल में, आप Python के
index()फ़ंक्शन के बारे में जानेंगे।index()मेथड सूची में किसी तत्व को खोजता है और उसकी स्थिति/इंडेक्स लौटाता है। पहले, यह ट्यूटोरियल आपको सूचियों से परिचित कराएगा, और फिर आप देखेंगे किindex()फ़ंक्शन के साथ काम करने के कुछ सरल उदाहरण कैसे हैं।इस ट्यूटोरियल के सभी उदाहरण कोड स्वयं आसानी से चलाने के लिए, आप नि:शुल्क DataLab वर्कबुक बनाएँ, जिसमें Python पहले से इंस्टॉल रहता है और सभी कोड नमूने शामिल होते हैं।
Python में इंडेक्सिंग क्या है?
Python में, इंडेक्सिंग का अर्थ है किसी अनुक्रम (sequence) जैसे स्ट्रिंग या सूची में, उसकी स्थिति या इंडेक्स संख्या का उपयोग करके किसी विशिष्ट तत्व तक पहुँचना। Python में इंडेक्सिंग 0 से शुरू होती है, यानी किसी अनुक्रम का पहला तत्व इंडेक्स 0 पर, दूसरा 1 पर, और इसी प्रकार आगे। उदाहरण के लिए, यदि हमारे पास स्ट्रिंग "Hello" है, तो हम पहला अक्षर "H" को 0 इंडेक्स से स्क्वायर-ब्रैकेट संकेतन द्वारा एक्सेस कर सकते हैं:
string[0]।Python का बिल्ट-इन
index()फ़ंक्शन किसी अनुक्रम में किसी विशिष्ट तत्व का इंडेक्स ढूँढने के लिए उपयोगी साधन है। यह फ़ंक्शन उस मान का आर्ग्यूमेंट लेता है जिसे खोजना है और अनुक्रम में उस मान के पहले अवतरण (first occurrence) का इंडेक्स वापस करता है।यदि मान अनुक्रम में नहीं मिलता है, तो फ़ंक्शन ValueError उठाता है। उदाहरण के लिए, यदि हमारे पास सूची
[1, 2, 3, 4, 5]है, तो हम3का इंडेक्सlist.index(3)कॉल करके पा सकते हैं, जो2लौटाएगा (क्योंकि3सूची का तीसरा तत्व है, और इंडेक्सिंग 0 से शुरू होती है)।index()फ़ंक्शन Python में एक शक्तिशाली साधन है क्योंकि यह किसी अनुक्रम में तत्व का इंडेक्स ढूँढने की प्रक्रिया को सरल बनाता है, जिससे लूप या कंडीशनल लिखने की आवश्यकता नहीं रहती। यह फ़ंक्शन विशेष रूप से बड़े डाटासेट्स या जटिल संरचनाओं के साथ काम करते समय उपयोगी होता है, जहाँ मैन्युअल खोज समय लेने वाली और त्रुटिपूर्ण हो सकती है।