Python सूची index() उदाहरण के साथ

⚡ स्मार्ट सारांश

Python list index() किसी दिए गए तत्व की पहली स्थिति लौटाता है, जबकि looping constructs, list comprehensions, enumerate(), filter(), NumPy लाइब्रेरी और more_itertools.locate() इस तकनीक को विस्तारित करते हैं ताकि डुप्लिकेट मानों वाली सूची में प्रत्येक मिलान सूचकांक को एकत्र किया जा सके।

  • 🔘 index() विधि: अंतर्निर्मित index() फ़ंक्शन किसी तत्व की पहली सबसे निचली स्थिति लौटाता है और वैकल्पिक प्रारंभ और अंत सीमाएँ स्वीकार करता है।
  • वैल्यूएरर: index() फ़ंक्शन एलिमेंट के अनुपस्थित होने पर ValueError उत्पन्न करता है, इसलिए सुरक्षित लुकअप के लिए कॉल को try-except में लपेटें।
  • सभी घटनाएं: फॉर-लूप, व्हाइल-लूप या लिस्ट कॉम्प्रिहेंशन लिस्ट के अंदर किसी वैल्यू के दोहराए जाने पर हर इंडेक्स को इकट्ठा करता है।
  • 🧪 अंतर्निर्मित सहायक: enumerate() और filter() प्रत्येक आइटम के साथ एक इंडेक्स जोड़ते हैं, जिससे मिलान करने वाली स्थितियों को इकट्ठा करने के संक्षिप्त, एक-पंक्ति वाले तरीके मिलते हैं।
  • NumPy और more_itertools: np.where() और more_itertools.locate() बड़े डेटासेट के लिए सभी मिलान करने वाले इंडेक्स को कुशलतापूर्वक लौटाते हैं।
  • 🤖 एआई वर्कफ़्लो: मशीन लर्निंग पाइपलाइनें एरे को मॉडल में फीड करने से पहले इंडेक्स द्वारा लेबल पोजीशन और मैचिंग सैंपल का पता लगाती हैं।

Python सूची अनुक्रमणिका()

सूची एक कंटेनर है जो अलग-अलग डेटा प्रकारों (इंट, फ्लोट्स, बूलियन, स्ट्रिंग्स, आदि) के आइटम को एक क्रमबद्ध क्रम में संग्रहीत करता है। यह एक महत्वपूर्ण डेटा संरचना है जो इन-बिल्ट है Pythonडेटा को वर्गाकार कोष्ठकों ([]) के अन्दर लिखा जाता है, तथा मानों को अल्पविराम (,) से अलग किया जाता है।

सूची के अंदर मौजूद आइटम इंडेक्स 0 से शुरू होने वाले पहले तत्व के साथ अनुक्रमित किए जाते हैं। आप नए आइटम जोड़कर या मौजूदा आइटम को अपडेट करके, हटाकर बनाई गई सूची में बदलाव कर सकते हैं। इसमें डुप्लिकेट आइटम और नेस्टेड सूची भी हो सकती है।

किसी सूची पर कई विधियाँ उपलब्ध हैं, और उनमें से एक महत्वपूर्ण विधि index() है।

Python सूची अनुक्रमणिका()

सूची index() विधि आपको दिए गए तत्व का पहला सबसे कम इंडेक्स खोजने में मदद करती है। यदि सूची के अंदर डुप्लिकेट तत्व हैं, तो तत्व का पहला इंडेक्स लौटाया जाता है। इंडेक्स प्राप्त करने का यह सबसे आसान और सीधा तरीका है।

सूची में अंतर्निहित index() विधि के अलावा, आप इंडेक्स प्राप्त करने के अन्य तरीके भी उपयोग कर सकते हैं, जैसे कि looping लिस्ट कॉम्प्रिहेंशन, एन्यूमरेट() और फिल्टर विधियों का उपयोग करके सूची के माध्यम से।

सूची index() विधि दिए गए तत्व का पहला न्यूनतम सूचकांक लौटाती है।

वाक्य - विन्यास

list.index(element, start, end)

पैरामीटर्स

पैरामीटर्स विवरण
तत्व वह तत्व जिसका सूचकांक आप प्राप्त करना चाहते हैं.
प्रारंभ यह पैरामीटर वैकल्पिक है। आप एलिमेंट को खोजने के लिए प्रारंभिक इंडेक्स निर्धारित कर सकते हैं। यदि यह नहीं दिया गया है, तो डिफ़ॉल्ट मान 0 है।
समाप्त यह पैरामीटर वैकल्पिक है। आप खोजे जाने वाले तत्व के लिए अंतिम इंडेक्स निर्दिष्ट कर सकते हैं। यदि नहीं दिया गया है, तो इसे सूची के अंत तक माना जाता है।

प्रतिलाभ की मात्रा

सूची index() विधि दिए गए तत्व का सूचकांक लौटाती है। यदि तत्व सूची में मौजूद नहीं है, तो index() विधि एक त्रुटि फेंक देगी, उदाहरण के लिए, ValueError: 'तत्व' सूची में नहीं है।

उदाहरण: दिए गए तत्व का सूचकांक ज्ञात करना।

सूची my_list = ['A', 'B', 'C', 'D', 'E', 'F'] में, हम तत्व C और F के लिए सूचकांक जानना चाहते हैं।

नीचे दिया गया उदाहरण दिखाता है कि सूचकांक कैसे प्राप्त करें।

my_list = ['A', 'B', 'C', 'D', 'E', 'F']
print("The index of element C is ", my_list.index('C'))
print("The index of element F is ", my_list.index('F'))

आउटपुट:

The index of element C is  2
The index of element F is  5

उदाहरण: index() में प्रारंभ और अंत का उपयोग करना

इस उदाहरण में, हम स्टार्ट और एंड इंडेक्स का उपयोग करके किसी सूची में इंडेक्स की खोज को सीमित करने का प्रयास करेंगे।

my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("The index of element C is ", my_list.index('C', 1, 5))
print("The index of element F is ", my_list.index('F', 3, 7))
#using just the startindex
print("The index of element D is ", my_list.index('D', 1))

आउटपुट:

The index of element C is  2
The index of element F is  5
The index of element D is  3

उदाहरण: index() विधि को किसी ऐसे तत्व के साथ परीक्षण करना जो मौजूद नहीं है।

जब आप सूची में किसी ऐसे तत्व को खोजने का प्रयास करते हैं जो मौजूद नहीं है, तो आपको नीचे दिखाए अनुसार एक त्रुटि प्राप्त होगी:

my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("The index of element C is ", my_list.index('Z'))

आउटपुट:

Traceback (most recent call last):
File "display.py", line 3, in <module>
print("The index of element C is ", my_list.index('Z'))
ValueError: 'Z' is not in list

किसी सूची में किसी तत्व का सूचकांक प्राप्त करने के लिए for-loop का उपयोग करना

हमने देखा कि list.index() विधि के साथ, यह उस तत्व का सूचकांक देता है जिसे तर्क के रूप में पारित किया जाता है।

अब सूची को इस प्रकार मानें: my_list = ['Guru', 'सिया', 'टिया', 'Guru', 'दक्ष', 'रिया', 'GuruनामGuru' इंडेक्स में ' तीन बार मौजूद है, और मुझे ' नाम वाले सभी इंडेक्स चाहिए।Guru'.

फॉर लूप का उपयोग करके हम नीचे दिए गए उदाहरण में दिखाए गए अनुसार कई इंडेक्स प्राप्त कर सकते हैं।

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
all_indexes = [] 
for i in range(0, len(my_list)) : 
    if my_list[i] == 'Guru' : 
        all_indexes.append(i)
print("Originallist ", my_list)
print("Indexes for element Guru : ", all_indexes)

आउटपुट:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

while-loop और list.index() का उपयोग करना

while-loop का उपयोग करने से दिए गए तत्व के सभी इंडेक्स प्राप्त करने के लिए दी गई सूची के माध्यम से लूप किया जाएगा।

सूची में: my_list = ['Guru', 'सिया', 'टिया', 'Guru', 'दक्ष', 'रिया', 'Guruहमें तत्व ' के सभी सूचकांकों की आवश्यकता हैGuru'.

नीचे एक उदाहरण दिया गया है जो दर्शाता है कि while लूप का उपयोग करके सभी इंडेक्स कैसे प्राप्त किए जा सकते हैं।

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
result = []
elementindex = -1
while True:
    try:
        elementindex = my_list.index('Guru', elementindex+1)
        result.append(elementindex)
    except  ValueError:
        break
print("OriginalList is ", my_list)
print("The index for element Guru is ", result)

आउटपुट:

OriginalList is  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
The index for element Guru is  [0, 3, 6]

किसी सूची में तत्व का सूचकांक प्राप्त करने के लिए सूची समझ का उपयोग करना

सभी अनुक्रमणिकाओं को प्राप्त करने के लिए, सूची पर सूची समझ का उपयोग करना एक तेज़ और सीधा तरीका है।

सूची समझ हैं Python ऐसे फ़ंक्शन जिनका उपयोग नए अनुक्रम बनाने के लिए किया जाता है (जैसे कि सूचियाँ, शब्दकोश, आदि) यानी, पहले से बनाए गए अनुक्रमों का उपयोग करना।

वे लंबे लूप को कम करने में मदद करते हैं और आपके कोड को पढ़ने और बनाए रखने में आसान बनाते हैं।

निम्नलिखित उदाहरण दर्शाता है कि इसे कैसे किया जाता है:

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist ", my_list)
all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru']
print("Indexes for element Guru : ", all_indexes)

आउटपुट:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

सूची में किसी तत्व का सूचकांक प्राप्त करने के लिए Enumerate का उपयोग करना

Enumerate() फ़ंक्शन एक अंतर्निर्मित फ़ंक्शन है जो इसके साथ उपलब्ध है Pythonआप सूची में मौजूद सभी तत्वों के इंडेक्स प्राप्त करने के लिए enumerate फ़ंक्शन का उपयोग कर सकते हैं। यह इनपुट के रूप में एक इटरेबल ऑब्जेक्ट (यानी, एक ऐसा ऑब्जेक्ट जिसे लूप किया जा सकता है) लेता है, और आउटपुट प्रत्येक आइटम के लिए एक काउंटर वाला ऑब्जेक्ट होता है।

निम्नलिखित उदाहरण दर्शाता है कि किसी सूची पर एन्यूमरेट फ़ंक्शन का उपयोग करके किसी दिए गए तत्व के सभी इंडेक्स कैसे प्राप्त किए जा सकते हैं।

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist ", my_list)
print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])

आउटपुट:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

सूची में किसी तत्व का सूचकांक प्राप्त करने के लिए फ़िल्टर का उपयोग करना

फ़िल्टर() विधि दिए गए फ़ंक्शन के आधार पर दी गई सूची को फ़िल्टर करती है। सूची के प्रत्येक तत्व को फ़ंक्शन में पास किया जाएगा, और आवश्यक तत्वों को फ़ंक्शन में दी गई शर्त के आधार पर फ़िल्टर किया जाएगा।

आइए सूची में दिए गए तत्व के लिए अनुक्रमणिका प्राप्त करने के लिए फ़िल्टर() विधि का उपयोग करें।

निम्नलिखित उदाहरण दर्शाता है कि सूची पर फ़िल्टर का उपयोग कैसे किया जाता है।

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist ", my_list)
all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list)))) 
print("Indexes for element Guru : ", all_indexes)

आउटपुट:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

किसी सूची में किसी तत्व का सूचकांक प्राप्त करने के लिए NumPy का उपयोग करना

NumPy लाइब्रेरी विशेष रूप से एरे के लिए उपयोग की जाती है। इसलिए यहां हम दी गई सूची से आवश्यक तत्व का इंडेक्स प्राप्त करने के लिए NumPy का उपयोग करेंगे।

NumPy का उपयोग करने के लिए हमें इसे इंस्टॉल करना होगा और आयात करना होगा।

इसके लिए निम्नलिखित चरण हैं:

चरण 1) NumPy स्थापित करें

pip install numpy

चरण 2) NumPy मॉड्यूल आयात करें.

import numpy as np

चरण 3) लिस्ट को ऐरे में बदलने के लिए np.array का उपयोग करें।

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
np_array = np.array(my_list)

चरण 4) np.where() का उपयोग करके वांछित तत्व का इंडेक्स प्राप्त करें।

item_index = np.where(np_array == 'Guru')[0]

आउटपुट सहित अंतिम कार्यशील कोड इस प्रकार है:

import numpy as np
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
np_array = np.array(my_list)
item_index = np.where(np_array == 'Guru')[0]
print("Originallist ", my_list)
print("Indexes for element Guru :", item_index)

आउटपुट:

Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0 3 6]

किसी सूची में किसी तत्व का सूचकांक प्राप्त करने के लिए more_itertools.locate() का उपयोग करना

more_itertools.locate() फ़ंक्शन सूची में तत्वों के इंडेक्स का पता लगाने में मदद करता है। यह मॉड्यूल निम्नलिखित के साथ काम करेगा: Python संस्करण 3.5+। पैकेज अधिक_itertools इसका उपयोग करने के लिए पहले इसे स्थापित करना होगा।

more_itertools को इंस्टॉल करने और उपयोग करने के लिए निम्नलिखित चरण हैं:

चरण 1) pip का उपयोग करके more_itertools इंस्टॉल करें (Python पैकेज मैनेजर)। कमांड यह है

pip install more_itertools

चरण 2) एक बार स्थापना हो जाने पर, आयात करें स्थिति जानें मॉड्यूल जैसा कि नीचे दिखाया गया है।

from more_itertools import locate

अब आप सूची पर लोकेट मॉड्यूल का उपयोग कर सकते हैं जैसा कि नीचे उदाहरण में दिखाया गया है:

from more_itertools import locate
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist : ", my_list)
print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))

आउटपुट:

Originallist :  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0, 3, 6]

अक्सर पूछे जाने वाले प्रश्न

index() विधि एलिमेंट के न होने पर ValueError उत्पन्न करती है। इस कॉल को try-except ब्लॉक में रैप करें, या पहले in ऑपरेटर का उपयोग करके एलिमेंट की सदस्यता की जांच करें, ताकि किसी एलिमेंट के न होने पर आपका प्रोग्राम क्रैश न हो।

index() द्वारा लौटाया गया मान हमेशा प्रारंभ से गिनी गई एक गैर-ऋणात्मक स्थिति होती है। आप खोज को सीमित करने के लिए ऋणात्मक प्रारंभ या अंत तर्क दे सकते हैं, लेकिन index() स्वयं किसी पाए गए तत्व के लिए कभी भी ऋणात्मक सूचकांक नहीं लौटाता है।

हां। index() तत्वों की सटीक तुलना करता है, इसलिए 'Guru'guru' और 'guru' को अलग-अलग मान माना जाता है। गलत केस में खोज करने पर ValueError उत्पन्न होता है। यदि आपको केस-इनसेंसिटिव मिलान की आवश्यकता है, तो खोज करने से पहले lower() फ़ंक्शन का उपयोग करके स्ट्रिंग को सामान्य करें।

उदाहरण के लिए, 'in' ऑपरेटर का उपयोग करें।Guru' my_list में मौजूद है। यह बिना कोई त्रुटि उत्पन्न किए True या False लौटाता है, इसलिए आप index() को केवल तभी सुरक्षित रूप से कॉल कर सकते हैं जब तत्व वास्तव में सूची में मौजूद हो।

एक बार खोज करने के लिए, अंतर्निहित index() फ़ंक्शन पहले से ही कुशल है क्योंकि यह पहले मिलान पर ही रुक जाता है। कई मानों को बार-बार खोजने के लिए, एक डिक्शनरी मैप बनाएं।ping प्रत्येक मान को उसके इंडेक्स से जोड़ा जाता है, जिससे प्रत्येक खोज एक तेज़ और स्थिर समय वाली प्रक्रिया बन जाती है।

Python सूचियों में index() विधि तो होती है, लेकिन find() विधि नहीं होती। index() विधि तत्व के अनुपस्थित होने पर ValueError उत्पन्न करती है, जबकि स्ट्रिंग find() विधि -1 लौटाती है। सूचियों के लिए, त्रुटि को पकड़ें या in ऑपरेटर का उपयोग करके सदस्यता की जाँच करें।

किसी तत्व के इंडेक्स का पता लगाने से श्रेणीबद्ध लेबलों को संख्यात्मक स्थितियों से मैप करने, अनुमानित वर्ग के प्रकट होने का स्थान खोजने या प्रशिक्षण से पहले फ़ीचर कॉलम को संरेखित करने में मदद मिलती है। NumPy, np.where() फ़ंक्शन का उपयोग करके इसे और भी बेहतर बनाता है, जिससे बड़े एरे और डेटासेट में इंडेक्स को तेज़ी से खोजा जा सकता है।

जी हां। GitHub Copilot और एजेंटिक AI सहायक एक साधारण टिप्पणी से index(), enumerate() और comprehension-आधारित लुकअप उत्पन्न करते हैं, गुम मानों के लिए सुरक्षित त्रुटि प्रबंधन का सुझाव देते हैं और लूप को रिफैक्टर करते हैं, हालांकि आपको अभी भी एज केस का परीक्षण करना चाहिए और लौटाए गए स्थानों की पुष्टि करनी चाहिए।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: