पायथन में सूची अनुक्रमण को समझना
पायथन में, सूचियाँ एक बहुमुखी और व्यापक रूप से उपयोग की जाने वाली डेटा संरचना है जो आपको वस्तुओं के ऑर्डर किए गए संग्रह को संग्रहीत करने की अनुमति देती है। किसी सूची में किसी विशिष्ट आइटम के सूचकांक को पुनः प्राप्त करने का तरीका जानना एक मौलिक कौशल है, खासकर गतिशील और बड़े डेटासेट के साथ काम करते समय।
उदाहरण के लिए, ["फू", "बार", "बाज़"] जैसी सूची और "बार" जैसे आइटम को देखते हुए, यह जानना आवश्यक है कि इसकी स्थिति को कुशलतापूर्वक कैसे खोजा जाए। यह मार्गदर्शिका पायथन की अंतर्निहित विधियों का उपयोग करके किसी सूची के भीतर किसी आइटम के सूचकांक का पता लगाने की प्रक्रिया को प्रदर्शित करेगी।
आज्ञा | विवरण |
---|---|
.index() | किसी सूची में किसी निर्दिष्ट आइटम की पहली घटना का सूचकांक लौटाता है। |
try: | अपवादों का परीक्षण करने के लिए कोड का एक ब्लॉक प्रारंभ करता है। |
except ValueError: | यदि आइटम सूची में नहीं मिलता है तो वैल्यूएरर अपवाद को पकड़ता है। |
f-string | घुंघराले ब्रेसिज़ का उपयोग करके स्ट्रिंग अक्षर के अंदर अभिव्यक्ति एम्बेड करने के लिए स्वरूपित स्ट्रिंग अक्षर {}। |
append() | सूची के अंत में एक आइटम जोड़ता है। |
for item in items: | किसी दिए गए पुनरावर्तनीय (उदाहरण के लिए, सूची) में प्रत्येक आइटम के माध्यम से लूप करें। |
पायथन लिपियों की विस्तृत व्याख्या
पहली स्क्रिप्ट पायथन का उपयोग करके किसी सूची में किसी आइटम की अनुक्रमणिका खोजने की एक सीधी विधि प्रदर्शित करती है .index() तरीका। एक सूची दी गई my_list जैसे तत्वों से युक्त ["foo", "bar", "baz"], द .index() विधि को आइटम के साथ बुलाया जाता है "bar" अपनी स्थिति पुनः प्राप्त करने के लिए. यदि आइटम सूची में मौजूद है, तो विधि उसका सूचकांक लौटाती है, जिसे बाद में मुद्रित किया जाता है। यह दृष्टिकोण सरल उपयोग के मामलों के लिए कुशल है जहां आइटम की सूची में मौजूद होने की गारंटी है। हालाँकि, यदि वस्तु नहीं मिलती है, तो यह एक बढ़ा देगा ValueError, जिसे रनटाइम त्रुटियों से बचने के लिए प्रबंधित करने की आवश्यकता है।
दूसरी स्क्रिप्ट का उपयोग करके त्रुटि प्रबंधन को शामिल करके पहले को बढ़ाती है try: और except ValueError: ब्लॉक. यह सुनिश्चित करता है कि यदि आइटम सूची में नहीं मिलता है, तो प्रोग्राम क्रैश होने के बजाय एक कस्टम त्रुटि संदेश लौटाया जाता है। यह स्क्रिप्ट किसी फ़ंक्शन को परिभाषित करती है get_index(my_list, item) जो निर्दिष्ट आइटम की अनुक्रमणिका ढूंढने का प्रयास करता है। यदि आइटम मिल जाता है, तो यह सूचकांक लौटाता है; यदि नहीं, तो यह पकड़ लेता है ValueError और एक संदेश लौटाता है जो दर्शाता है कि आइटम नहीं मिला। यह फ़ंक्शन को उन परिदृश्यों के लिए अधिक मजबूत और उपयुक्त बनाता है जहां सूची में आइटम की उपस्थिति अनिश्चित है।
तीसरी स्क्रिप्ट को अधिक जटिल उपयोग के मामले को प्रदर्शित करते हुए कई वस्तुओं को संभालने के लिए डिज़ाइन किया गया है। यह एक फ़ंक्शन को परिभाषित करता है get_indices(my_list, items) इसमें खोजने के लिए एक सूची और वस्तुओं की दूसरी सूची की आवश्यकता होती है। यह एक खाली सूची प्रारंभ करता है indices परिणामों को संग्रहीत करने के लिए. फिर फ़ंक्शन a का उपयोग करके आइटम पर पुनरावृति करता है for item in items: लूप, मुख्य सूची में प्रत्येक आइटम के सूचकांक को खोजने का प्रयास कर रहा है। यदि आइटम मिल जाता है, तो यह आइटम और उसके सूचकांक का एक टुपल जोड़ देता है indices. यदि नहीं, तो यह आइटम और स्ट्रिंग का एक टुपल जोड़ता है "not found". यह दृष्टिकोण एक ही पास में एकाधिक खोज क्वेरी को बैच प्रोसेसिंग, दक्षता और पठनीयता बढ़ाने के लिए उपयोगी है।
कुल मिलाकर, ये स्क्रिप्ट पायथन में सूचियों की खोज के लिए मौलिक तकनीकों का प्रदर्शन करती हैं, जिनमें से प्रत्येक बढ़ती जटिलता और मजबूती के साथ है। का उपयोग .index() बुनियादी पुनर्प्राप्ति के लिए, के साथ संयुक्त try: और except त्रुटि प्रबंधन के लिए, और कई वस्तुओं को संसाधित करने के लिए लूप, पायथन की सूची संचालन की बहुमुखी प्रतिभा और शक्ति पर प्रकाश डालते हैं। इन स्क्रिप्ट्स को सरल लुकअप से लेकर अधिक उन्नत डेटा प्रोसेसिंग कार्यों तक, विभिन्न एप्लिकेशन आवश्यकताओं के अनुरूप अनुकूलित और विस्तारित किया जा सकता है।
पायथन सूची में किसी आइटम के सूचकांक का पता लगाएं
किसी सूची में किसी आइटम की अनुक्रमणिका खोजने के लिए पायथन का उपयोग करना
my_list = ["foo", "bar", "baz"]
item = "bar"
index = my_list.index(item)
print(f"The index of '{item}' is {index}")
त्रुटि प्रबंधन के साथ सूची में आइटम इंडेक्स पुनर्प्राप्त करें
अपवाद हैंडलिंग के साथ पायथन स्क्रिप्ट
def get_index(my_list, item):
try:
index = my_list.index(item)
return index
except ValueError:
return f"'{item}' not found in the list"
my_list = ["foo", "bar", "baz"]
item = "bar"
print(f"The index of '{item}' is {get_index(my_list, item)}")
किसी सूची में एकाधिक आइटमों का सूचकांक ढूँढना
एकाधिक वस्तुओं को संभालने के लिए पायथन स्क्रिप्ट
def get_indices(my_list, items):
indices = []
for item in items:
try:
index = my_list.index(item)
indices.append((item, index))
except ValueError:
indices.append((item, "not found"))
return indices
my_list = ["foo", "bar", "baz"]
items = ["bar", "baz", "qux"]
print(f"Indices: {get_indices(my_list, items)}")
पायथन सूचियों में अनुक्रमणिका ढूँढने की उन्नत तकनीकें
पायथन सूची में किसी आइटम के सूचकांक को खोजने के बुनियादी तरीकों के अलावा, अधिक उन्नत तकनीकें हैं जो कुछ परिदृश्यों में फायदेमंद हो सकती हैं। ऐसी ही एक तकनीक अनुक्रमणिका को फ़िल्टर करने और पता लगाने के लिए सूची समझ का उपयोग करना है। सूची समझ सूचियाँ बनाने का एक संक्षिप्त तरीका प्रदान करती है और यदि यह सूची में कई बार दिखाई देती है तो इसका उपयोग किसी विशेष आइटम के सभी सूचकांकों को इकट्ठा करने के लिए किया जा सकता है। उदाहरण के लिए, यदि किसी सूची में किसी आइटम के डुप्लिकेट हैं, तो इसका उपयोग करें [i for i, x in enumerate(my_list) if x == item] उन सभी अनुक्रमणिकाओं की एक सूची लौटाएगा जहां आइटम पाया गया है। यह विधि न केवल संक्षिप्त है बल्कि ऐसे उपयोग के मामलों के लिए अत्यधिक पठनीय और कुशल भी है।
एक अन्य उन्नत दृष्टिकोण में का उपयोग शामिल है numpy लाइब्रेरी, जो विशेष रूप से बड़े डेटासेट और संख्यात्मक संचालन के लिए उपयोगी है। numpy की पेशकश करता है np.where() फ़ंक्शन जिसका उपयोग देशी पायथन सूचियों की तुलना में अधिक प्रदर्शनशील तरीके से इंडेक्स खोजने के लिए किया जा सकता है। उदाहरण के लिए, np.where(np.array(my_list) == item)[0] जहां आइटम पाया जाता है वहां इंडेक्स की एक सरणी लौटाएगा। बड़े सरणियों के साथ काम करते समय या जब प्रदर्शन एक गंभीर चिंता का विषय हो तो यह विशेष रूप से फायदेमंद होता है। ऐसे विशिष्ट पुस्तकालयों का उपयोग करने से सूचकांक खोज कार्यों की दक्षता और मापनीयता में उल्लेखनीय वृद्धि हो सकती है।
पायथन सूचियों में अनुक्रमणिका ढूँढने के बारे में अक्सर पूछे जाने वाले प्रश्न
- आप किसी सूची में किसी आइटम का सूचकांक कैसे ढूंढते हैं?
- का उपयोग .index() विधि, आप किसी सूची में किसी आइटम की पहली घटना का सूचकांक पा सकते हैं।
- यदि आइटम सूची में नहीं मिला तो क्या होगा?
- यदि वस्तु नहीं मिली तो .index() विधि एक बढ़ाती है ValueError.
- जब आइटम सूची में नहीं है तो आप अपवादों को कैसे संभाल सकते हैं?
- आप एक का उपयोग कर सकते हैं try: और except ValueError: अपवाद को संभालने के लिए ब्लॉक करें।
- क्या आप किसी आइटम की सभी घटनाओं के सूचकांक पा सकते हैं?
- हाँ, जैसे सूची समझ का उपयोग करना [i for i, x in enumerate(my_list) if x == item].
- बड़े डेटासेट में इंडेक्स ढूंढने का एक प्रभावी तरीका क्या है?
- का उपयोग numpy पुस्तकालय का np.where() फ़ंक्शन बड़े डेटासेट के लिए कुशल है।
- कैसे करता है numpy np.where() फ़ंक्शन कार्य?
- यह अनुक्रमणिका की एक सरणी लौटाता है जहां निर्दिष्ट स्थिति सत्य है।
- अनुक्रमणिका खोजने के लिए सूची समझ का उपयोग करने का क्या लाभ है?
- सूची समझ किसी आइटम की सभी घटनाओं के सूचकांक इकट्ठा करने का एक संक्षिप्त और पठनीय तरीका प्रदान करती है।
- क्या आप एक सूची में एक साथ कई आइटमों की अनुक्रमणिका खोज सकते हैं?
- हाँ, वस्तुओं को बार-बार दोहराकर और उनका उपयोग करके .index() विधि या सूची समझ.
- क्या बिना उपयोग किए किसी सूची में किसी आइटम का सूचकांक खोजना संभव है? .index()?
- हाँ, आप सूचकांक को मैन्युअल रूप से खोजने के लिए लूप या सूची समझ का उपयोग कर सकते हैं।
- अनुक्रमणिका खोजने की विधि चुनते समय आपको क्या विचार करना चाहिए?
- डेटासेट के आकार, प्रदर्शन आवश्यकताओं और क्या आइटम सूची में कई बार दिखाई देता है, इस पर विचार करें।
अंतिम विचार:
पायथन सूची में किसी आइटम का सूचकांक कैसे खोजा जाए, यह जानना किसी भी डेवलपर के लिए एक आवश्यक कौशल है। चाहे बेसिक का उपयोग कर रहे हों .index() सूची समझ और पुस्तकालयों जैसी विधि या अधिक उन्नत तकनीकें numpy, इन विधियों को समझने से यह सुनिश्चित होता है कि आप विभिन्न परिदृश्यों को कुशलतापूर्वक संभाल सकते हैं। अपवादों को उचित रूप से प्रबंधित करना और प्रदर्शन के लिए अनुकूलन करना प्रमुख विचार हैं जो आपके कोड की विश्वसनीयता और स्केलेबिलिटी को बढ़ाते हैं।