उदाहरण के साथ पायथन सूची सूचकांक ()

विषय - सूची:

Anonim

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

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

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

इस ट्यूटोरियल में, आप सीखेंगे:

  • अजगर सूची सूचकांक ()
  • किसी सूची में एक तत्व का सूचकांक प्राप्त करने के लिए लूप का उपयोग करना
  • लूप और लिस्ट का उपयोग करते हुए ।index ()
  • सूची में तत्व का सूचकांक प्राप्त करने के लिए सूची समझ का उपयोग करना
  • किसी सूची में एक तत्व का सूचकांक प्राप्त करने के लिए Enumerate का उपयोग करना
  • किसी सूची में किसी तत्व का सूचकांक प्राप्त करने के लिए फ़िल्टर का उपयोग करना
  • किसी सूची में एक तत्व का सूचकांक प्राप्त करने के लिए NumPy का उपयोग करना
  • किसी सूची में किसी तत्व के सूचकांक को प्राप्त करने के लिए और अधिक_टेरिट्युलोसलेट () का उपयोग करना

अजगर सूची सूचकांक ()

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

बिल्ट-इन लिस्ट इंडेक्स () विधि के अलावा, आप लिस्ट को समझने के लिए अन्य तरीकों का भी उपयोग कर सकते हैं, जैसे लिस्ट कॉम्प्रिहेंशन, एन्युमरेट (), फिल्टर मेथड्स का उपयोग करके।

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

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

list.index(element, start, end)

मापदंडों

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

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

सूची सूचकांक () विधि दिए गए तत्व के सूचकांक को लौटाता है। यदि तत्व सूची में मौजूद नहीं है, तो अनुक्रमणिका () विधि में त्रुटि होगी, उदाहरण के लिए, 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 2The index of element F is 5

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

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

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 startindexprint("The index of element D is ", my_list.index('D', 1))

आउटपुट:

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

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

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

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 print("The index of element C is ", my_list.index('Z'))ValueError: 'Z' is not in list

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

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

अब इस सूची पर विचार करें: my_list = ['गुरु', 'सिया', 'तिया', 'गुरु', 'दक्ष', 'रिया', 'गुरु']। नाम 'गुरु' सूचकांक में 3 बार मौजूद है, और मुझे 'गुरु' नाम के साथ सभी सूचकांक चाहिए।

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

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]

लूप और लिस्ट का उपयोग करते हुए ।index ()

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

सूची में: my_list = ['गुरु', 'सिया', 'तिया', 'गुरु', 'दक्ष', 'रिया', 'गुरु'], हमें तत्व 'गुरु' के सभी सूचकांक की आवश्यकता है।

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

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']result = []elementindex = -1while True:try:elementindex = my_list.index('Guru', elementindex+1)result.append(elementindex)except ValueError:breakprint("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]

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

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

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

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

निम्नलिखित उदाहरण से पता चलता है कि यह कैसे करना है:

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 () फ़ंक्शन एक अंतर्निहित फ़ंक्शन है जो अजगर के साथ उपलब्ध है। आप किसी सूची में तत्व के सभी अनुक्रमित प्राप्त करने के लिए गणना का उपयोग कर सकते हैं। यह इनपुट करने योग्य वस्तु के रूप में लेता है (यानी, एक वस्तु जिसे लूप किया जा सकता है), और आउटपुट प्रत्येक आइटम के लिए एक काउंटर के साथ एक वस्तु है।

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

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) आप जिस तत्व का उपयोग करना चाहते हैं उसका सूचकांक प्राप्त करें।

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

आउटपुट के साथ अंतिम कार्य कोड निम्नानुसार है:

import numpy as npmy_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 () सूची में तत्व के अनुक्रमित को खोजने में मदद करता है। यह मॉड्यूल अजगर संस्करण 3.5+ के साथ काम करेगा। इसका उपयोग करने के लिए पैकेज more_itertools को पहले स्थापित किया जाना है।

और अधिक_टर्टूल का उपयोग करने और स्थापित करने के चरण निम्नलिखित हैं

चरण 1) पाइप (पायथन पैकेज मैनेजर) का उपयोग करके अधिक_टाइटल स्थापित करें। आज्ञा है

pip install more_itertools

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

from more_itertools import locate

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

from more_itertools import locatemy_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]

सारांश:

  • सूची सूचकांक () विधि आपको दिए गए तत्व के सूचकांक को खोजने में मदद करती है। यह सूचकांक प्राप्त करने का सबसे आसान और सरल तरीका है।
  • सूची सूचकांक () विधि दिए गए तत्व के सूचकांक को लौटाता है।
  • यदि तत्व सूची में मौजूद नहीं है, तो अनुक्रमणिका () विधि में त्रुटि होगी, उदाहरण के लिए, ValueError: 'तत्व' सूची में नहीं है।
  • अंतर्निहित सूची विधि के अलावा, आप अन्य तरीकों का उपयोग भी कर सकते हैं ताकि सूची के माध्यम से लूपिंग प्राप्त कर सकें, सूची की समझ का उपयोग करके, गणना (), एक फिल्टर का उपयोग करके, आदि।
  • किसी दिए गए तत्व के कई इंडेक्स प्राप्त करने के लिए लूप और जबकि-लूप का उपयोग करना।
  • सभी इंडेक्स प्राप्त करने के लिए, एक तेज और सीधा तरीका सूची पर सूची समझ का उपयोग करना है।
  • सूची समझें पायथन फ़ंक्शन हैं जो नए अनुक्रम बनाने के लिए उपयोग किए जाते हैं।
  • वे लंबे छोरों को कम करने और आपके कोड को पढ़ने और बनाए रखने में आसान बनाने में मदद करते हैं।
  • आप किसी सूची में तत्व के सभी अनुक्रमित प्राप्त करने के लिए गणना का उपयोग कर सकते हैं।
  • Enumerate () फ़ंक्शन एक अंतर्निहित फ़ंक्शन है जो अजगर के साथ उपलब्ध है। यह इनपुट करने योग्य वस्तु के रूप में लेता है (यानी, एक वस्तु जिसे लूप किया जा सकता है), और आउटपुट प्रत्येक आइटम के लिए एक काउंटर के साथ एक वस्तु है।
  • फ़िल्टर () विधि दी गई फ़ंक्शन के आधार पर दी गई सूची को फ़िल्टर करती है।
  • Numpy पुस्तकालय विशेष रूप से सरणियों के लिए उपयोग किया जाता है। आप सूची में दिए गए तत्व के सूचकांक को प्राप्त करने के लिए NumPy का उपयोग कर सकते हैं।
  • More_itertools.locate () अभी तक एक और अजगर पुस्तकालय है जो दी गई सूची के अनुक्रमितों को खोजने में मदद करता है।