तो आप पाइथन में एक सूची या सरणी के साथ काम कर रहे थे और शायद इसे टुकड़ा करने का प्रयास किया। लेकिन अपेक्षित परिणाम के बजाय, आपको एक त्रुटि मिलती है जो कहती है, "सूची अनुक्रमणिका सीमा से बाहर है।" कोई चिंता नहीं, यह किसी के साथ भी हो सकता है।
आइए जानें कि इस त्रुटि का क्या अर्थ है, इसका कारण क्या है, और बिना किसी और हलचल के इसे कैसे दूर किया जाए।
पायथन में "सूची सूचकांक सीमा से बाहर" त्रुटि का क्या अर्थ है?
जब पायथन एक "सूची सूचकांक सीमा से बाहर" त्रुटि फेंकता है, तो इसका मतलब है कि आपने सूची को उसके अंतिम सूचकांक से परे करने की कोशिश की है।
पायथन सूची में प्रत्येक आइटम को उसके सूचकांक द्वारा पहचानता है। और किसी सूची का सूचकांक शून्य से शुरू होता है। उदाहरण के लिए, जब आपके पास पांच वस्तुओं की एक सूची होती है, तो इसका पहला आइटम इंडेक्स शून्य पर होता है, जबकि अंतिम चौथे इंडेक्स पर होता है।
उदाहरण के लिए, पाँच प्रोग्रामिंग भाषाओं की सूची में:
भाषाएँ = ["पायथन", "गो", "पीएचपी", "सी", "पर्ल"]
उपरोक्त सूची के लिए अनुक्रमण शून्य और चार के बीच है। तो नीचे दिखाए गए पांचवें आइटम को प्रिंट करने के लिए इसे टुकड़ा करने का प्रयास एक त्रुटि देता है:
प्रिंट (भाषाएं[5])
उत्पादन:
IndexError: सूची सूचकांक सीमा से बाहर है
उपरोक्त उदाहरण में, पायथन सूची में पांचवें सूचकांक को देखने की कोशिश करता है, और जब यह नहीं मिलता है, तो यह सूची सूचकांक त्रुटि को फेंक देता है। ऐसा इसलिए है क्योंकि पहला तत्व (पायथन) इंडेक्स शून्य पर है, जबकि आखिरी (पर्ल) इंडेक्स चार पर है।
यह "सूची सूचकांक सीमा से बाहर" त्रुटि का आधार है। जैसा कि कहा गया है, जब भी आप किसी सूची को उसके अंतिम सूचकांक से आगे खिसकाने की कोशिश करते हैं, तो पायथन उसे फेंक देता है।
पायथन में "सूची सूचकांक सीमा से बाहर" त्रुटि को कैसे हटाएं
तो आप इस त्रुटि को कैसे दूर कर सकते हैं? यह आसान है।
ऊपर के पिछले खंड के आगे, आप a. का उपयोग करके अनुक्रमणिका को प्रिंट कर सकते हैं के लियेएक सूची समझ में लूप:
अनुक्रमणिका = [भाषाओं में अनुक्रमणिका (i) i के लिए भाषाओं में]
प्रिंट (सूचकांक)
उत्पादन:
[0, 1, 2, 3, 4]
एक सूची का सूचकांक प्रोग्रामिंग में टुकड़ा करने का आधार है। इसलिए चूंकि आप उपरोक्त (4) आउटपुट के लिए सूची की उच्चतम अनुक्रमणिका जानते हैं, आप स्लाइस सीमा को समझ सकते हैं।
इसलिए, सूची को टुकड़ा करने और अंतिम वस्तु प्राप्त करने के लिए:
प्रिंट (भाषाएं[4])
उत्पादन:
पर्ल
यह अब सही परिणाम आउटपुट करता है।
क्या होगा यदि आप सूची के माध्यम से इसके सूचकांक का उपयोग करना चाहते हैं?
नियमित के अलावा लूप के लिए पायथन, आप सूची के माध्यम से पुनरावृति करने के लिए अनुक्रमणिका अवधारणा का भी उपयोग कर सकते हैं। हालांकि यह विधि कठिन लग सकती है, कभी-कभी यह अपरिहार्य है। उदाहरण के लिए, यदि आप किसी सूची को उल्टे क्रम में क्रमबद्ध करना चाहते हैं तो यह काम आता है।
यह विधि प्रारंभिक अनुक्रमणिका सेट करके और अंतिम उपलब्ध अनुक्रमणिका तक इसे एक से बढ़ाकर या घटाकर काम करती है।
उदाहरण के लिए, बढ़ती हुई अनुक्रमणिका संख्या (पहली से अंतिम आइटम) वाली वस्तुओं को प्रिंट करने के लिए:
सूचकांक = 0 # प्रारंभिक सूचकांक
मैं के लिए भाषाओं में:
प्रिंट (भाषाएं [सूचकांक])
सूचकांक +1
उत्पादन:
अजगर
जाओ
पीएचपी
सी
पर्ल
लेकिन क्या होता है यदि आप प्रारंभिक अनुक्रमणिका को शून्य के बजाय एक पर सेट करते हैं? एक नज़र देख लो:
सूचकांक = 1 # प्रारंभिक सूचकांक
मैं के लिए भाषाओं में:
प्रिंट (भाषाएं [सूचकांक])
सूचकांक +1
उत्पादन:
जाओ
पीएचपी
सी
पर्ल
IndexError: सूची सूचकांक सीमा से बाहर है
उपरोक्त उदाहरण में, अनुक्रमण दूसरे आइटम से शुरू होता है (सूचकांक एक, जाओ). तो वृद्धि करते समय, लूप तब तक नहीं रुकता जब तक कि वह पांच वस्तुओं की गिनती पूरी नहीं कर लेता। यह सूचकांक को अंतिम आइटम तक एक से बढ़ने के लिए मजबूर करता है।
इसलिए, टुकड़ा पांचवें सूचकांक को हिट करता है जो उपलब्ध नहीं है। तो यह एक सूचकांक त्रुटि फेंकता है। इसका अर्थ है कि सूचकांक प्रत्येक वस्तु के लिए निम्नलिखित पैटर्न में बढ़ता है:
1=1, 1+1=2, 1+2=3, 1+3=4, 1+4=5
सही पैटर्न के बजाय, जो है:
0=0, 0+1=1, 1+1=2, 1+2=3, 1+3=4
जैसा कि आप देख सकते हैं, उपरोक्त इंडेक्स का उच्चतम मूल्य चार है, जो सही है क्योंकि लूप इंडेक्सिंग को शून्य से बढ़ाना शुरू कर देता है।
इसलिए, प्रारंभिक अनुक्रमणिका को शून्य पर सेट करना जैसा कि आपने इस खंड में पहले उदाहरण में किया था, "सूची अनुक्रमणिका सीमा से बाहर" त्रुटि को हटा देता है:
सूचकांक = 0 # प्रारंभिक सूचकांक
मैं के लिए भाषाओं में:
प्रिंट (भाषाएं [सूचकांक])
सूचकांक +1 #प्रत्येक पुनरावृत्ति के लिए सूचकांक को एक-एक करके बढ़ाएं
वस्तुओं को उल्टे क्रम में आउटपुट करने के लिए इस अवधारणा को लागू करने के लिए, आपको सरणी की लंबाई से एक घटाना होगा। तो यह इंडेक्स को चार से शुरू करने के लिए मजबूर करता है और पहले इंडेक्स तक उलटी गिनती करता है, शून्य।
यह तब मददगार होता है जब आप किसी स्रोत, जैसे डेटाबेस से आने वाली सूची के लंबाई मान के बारे में सुनिश्चित नहीं होते हैं।
यहाँ एक उदाहरण है:
अनुक्रमणिका = (लेन (भाषाएं) -1)
मैं के लिए भाषाओं में:
प्रिंट (भाषाएं [सूचकांक])
सूचकांक - = 1 #प्रत्येक पुनरावृत्ति के लिए सूचकांक को एक-एक करके कम करें
उत्पादन:
पर्ल
सी
पीएचपी
जाओ
अजगर
लेकिन सूची की लंबाई से किसी एक को घटाने में विफल रहने से "सूची से बाहर की सूची" त्रुटि आती है:
अनुक्रमणिका = (लेन (भाषाएं) -1)
मैं के लिए भाषाओं में:
प्रिंट (भाषाएं [सूचकांक])
सूचकांक - = 1
उत्पादन:
IndexError: सूची सूचकांक सीमा से बाहर है
उपरोक्त कोड एक इंडेक्स त्रुटि फेंकता है क्योंकि सूची की लंबाई पांच है, और यह पांच से शून्य तक इंडेक्सिंग शुरू करने का प्रयास करता है, जबकि उच्चतम इंडेक्स चार है। तो इसका मतलब है कि सूची में पांचवां सूचकांक (छठा आइटम) नहीं है।
पायथन में क्रिएटिव हैंडलिंग सूचियाँ प्राप्त करें
पायथन की त्रुटियां मानव-अनुकूल हैं और आमतौर पर पठनीय हैं। निरपवाद रूप से, यह उन्हें उचित सीमा तक पता लगाने योग्य बनाता है।
जैसा कि आपने सीखा है, सूची अनुक्रमणिका को सीमा त्रुटि से बाहर निकालना बहुत आसान है। यदि आप अपने भविष्य के कार्यक्रमों में इस त्रुटि का सामना करते हैं, चाहे सूची कितनी भी जटिल क्यों न हो, आप समस्या को हल करने के लिए इस पोस्ट में बताई गई अवधारणाओं को लागू कर सकते हैं।
जटिल सूचियों के साथ रचनात्मक होने के लिए स्वतंत्र महसूस करें। आप यह भी सीखना चाहेंगे कि अपने खाली समय में पाइथन में सूचियों को कैसे क्रमबद्ध किया जाए ताकि यह सब बेहतर हो सके।
एकाधिक डेटा प्रकारों वाली सूचियां जल्दी से हाथ से निकल सकती हैं। यहां उन्हें पायथन के साथ क्रमबद्ध करने का तरीका बताया गया है।
आगे पढ़िए
- प्रोग्रामिंग
- अजगर
- प्रोग्रामिंग
- कोडिंग टिप्स

Idowu कुछ भी स्मार्ट तकनीक और उत्पादकता के बारे में भावुक है। अपने खाली समय में, वह कोडिंग के साथ खेलता है और जब वह ऊब जाता है तो शतरंज की बिसात पर चला जाता है, लेकिन उसे कभी-कभी दिनचर्या से अलग होना भी पसंद होता है। लोगों को आधुनिक तकनीक के बारे में बताने का उनका जुनून उन्हें और अधिक लिखने के लिए प्रेरित करता है।
हमारे न्यूज़लेटर की सदस्यता लें
तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!
सब्सक्राइब करने के लिए यहां क्लिक करें