Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन इंडेक्स एरर:टपल इंडेक्स आउट ऑफ रेंज सॉल्यूशन

सूचियों की तरह, पायथन टुपल्स को अनुक्रमित किया जाता है। इसका मतलब है कि टुपल में प्रत्येक मान में एक संख्या होती है जिसका उपयोग आप उस मान तक पहुंचने के लिए कर सकते हैं। जब आप किसी ऐसे आइटम को एक्सेस करने का प्रयास करते हैं जो मौजूद नहीं है, तो पायथन एक त्रुटि देता है जो कहता है कि "टपल इंडेक्स रेंज से बाहर है"।

इस गाइड में, हम बताते हैं कि इस सामान्य पायथन त्रुटि का क्या अर्थ है और इसे क्यों उठाया जाता है। हम इस समस्या के साथ एक उदाहरण परिदृश्य के माध्यम से चलते हैं ताकि हम यह पता लगा सकें कि इसे कैसे हल किया जाए।

समस्या विश्लेषण:अनुक्रमणिका त्रुटि:टपल अनुक्रमणिका सीमा से बाहर

टुपल्स को 0 से शुरू करके अनुक्रमित किया जाता है। टुपल में प्रत्येक बाद के मान को एक संख्या सौंपी जाती है जो पिछले से एक बड़ी होती है। एक टपल पर एक नज़र डालें:

birds = ("Robin", "Collared Dove", "Great Tit", "Goldfinch", "Chaffinch")

इस टपल में पाँच मान हैं। प्रत्येक मान की अपनी अनुक्रमणिका संख्या होती है:

रॉबिन कॉलरड डव ग्रेट टाइट गोल्डफिंच शैफ़िंच
1 2 3 4

हमारे टपल में "रॉबिन" मान तक पहुँचने के लिए, हम इस कोड का उपयोग करेंगे:

print(birds[0])

हमारा कोड रिटर्न:रॉबिन। हम इंडेक्स पोजीशन 1 पर वैल्यू को एक्सेस करते हैं और इसे कंसोल पर प्रिंट करते हैं। हम इसे अपनी सूची में किसी भी मूल्य के साथ कर सकते हैं।

यदि हम अपने टपल के बाहर किसी आइटम तक पहुँचने का प्रयास करते हैं, तो एक त्रुटि उत्पन्न होगी।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

एक उदाहरण परिदृश्य

आइए एक प्रोग्राम लिखें जो अंतिम तीन मानों को टपल में प्रिंट करता है। हमारे टपल में यूनाइटेड किंगडम के शहरों की एक सूची है। आइए एक टपल घोषित करके शुरू करें:

cities = ("Edinburgh", "London", "Southend", "Bristol", "Cambridge")

अगला, हम अंतिम तीन मानों का प्रिंट आउट लेते हैं। हम इसे लूप के लिए और range() . का उपयोग करके करेंगे बयान। रेंज () स्टेटमेंट एक विशेष रेंज के बीच संख्याओं की एक सूची बनाता है ताकि हम अपनी सूची में उन वस्तुओं पर पुनरावृति कर सकें, जिनकी अनुक्रमणिका संख्याएँ उस सीमा में हैं।

यहाँ हमारे लूप के लिए कोड है:

for i in range(3, 6):
	print(birds[i])

आइए अपना कोड चलाने का प्रयास करें:

Goldfinch
Chaffinch
Traceback (most recent call last):
  File "main.py", line 4, in <module>
	print(birds[i])
IndexError: tuple index out of range

हमारा कोड गोल्डफिंच और चैफिंच के मूल्यों को प्रिंट करता है। ये हमारी सूची में अंतिम दो मान हैं। यह तीसरे मान को प्रिंट नहीं करता है।

समाधान

हमारी range() स्टेटमेंट 3 और 6 की रेंज के बीच की संख्याओं की एक सूची बनाता है। यह सूची 3 और 6 को शामिल नहीं करती है। हमारी सूची केवल 4 तक अनुक्रमित है। इसका मतलब है कि हमारा लूप इंडेक्स स्थिति 5 पर एक पक्षी तक पहुंचने का प्रयास करेगा। हमारे टपल में क्योंकि 5 हमारी सीमा में है।

आइए देखें कि क्या होता है यदि हम पक्षियों [5] को अलग-अलग प्रिंट करने का प्रयास करते हैं:

print(birds[5])

हमारा कोड लौटाता है:

Traceback (most recent call last):
  File "main.py", line 3, in <module>
	print(birds[5])
IndexError: tuple index out of range

वही त्रुटि मौजूद है। ऐसा इसलिए है क्योंकि हम अपनी सूची में वस्तुओं तक पहुँचने की कोशिश करते हैं जैसे कि उन्हें 1 से अनुक्रमित किया गया हो। टुपल्स को 0 से अनुक्रमित किया जाता है।

इस त्रुटि को हल करने के लिए, हमें अपनी range() . को संशोधित करने की आवश्यकता है बयान इसलिए यह हमारे टपल में केवल अंतिम तीन आइटम प्रिंट करता है। हमारी सीमा 2 से 5 तक होनी चाहिए:

for i in range(2, 5):
	print(birds[i])

आइए अपना संशोधित कोड चलाएं और देखें कि क्या होता है:

Great Tit
Goldfinch
Chaffinch

हमारा कोड हमारी सूची में अंतिम तीन वस्तुओं को सफलतापूर्वक प्रिंट करता है। अब हम इंडेक्स पोजीशन 2, 3, और 4 पर आइटम एक्सेस कर रहे हैं। ये सभी पोजीशन मान्य हैं इसलिए हमारा कोड अब काम करता है।

निष्कर्ष

इंडेक्स एरर:टपल इंडेक्स आउट ऑफ रेंज एरर तब होता है जब आप किसी आइटम को टुपल में एक्सेस करने का प्रयास करते हैं जो मौजूद नहीं है। इस समस्या को हल करने के लिए, सुनिश्चित करें कि जब भी आप किसी आइटम को टपल से एक्सेस करते हैं, तो जिस आइटम के लिए आप देख रहे हैं वह मौजूद है।

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

अब आप एक विशेषज्ञ की तरह इस पायथन त्रुटि को हल करने के लिए तैयार हैं!


  1. मैं पाइथन टुपल से आइटम कैसे हटा सकता हूं?

    पायथन में टुपल्स अपरिवर्तनीय हैं। यदि आप पायथन टपल से आइटम निकालना चाहते हैं, तो आप किसी विशेष इंडेक्स को छोड़ने के लिए इंडेक्स स्लाइसिंग का उपयोग कर सकते हैं। उदाहरण के लिए, a = (1, 2, 3, 4, 5) b = a[:2] + a[3:] print(b) यह आउटपुट देगा: (1, 2, 4, 5) या आप इसे एक सूची में बदल सकते हैं, आइटम को हटा

  1. पायथन में एक टुपल को कैसे अनुक्रमित और टुकड़ा करें?

    टुपल को इंडेक्स या स्लाइस करने के लिए आपको टुपल पर [] ऑपरेटर का उपयोग करना होगा। टपल को अनुक्रमित करते समय, यदि आप एक सकारात्मक पूर्णांक प्रदान करते हैं, तो यह उस सूचकांक को बाईं ओर से टपल की गिनती से प्राप्त करता है। एक नकारात्मक सूचकांक के मामले में, यह उस सूचकांक को दाईं ओर से गिनती के टपल से प्र

  1. पायथन में स्लाइसिंग इंडेक्स को रेंज से बाहर क्यों काम करता है?

    अनुक्रम की सीमा के बाहर टुकड़ा करना (कम से कम बिल्ट-इन के लिए) त्रुटि का कारण नहीं बनता है। अनुक्रमण एक एकल आइटम देता है, लेकिन स्लाइसिंग आइटमों का एक क्रम देता है। इसलिए जब आप किसी गैर-मौजूद मान को अनुक्रमित करने का प्रयास करते हैं, तो वापस करने के लिए कुछ भी नहीं होता है; लेकिन जब आप किसी अनुक्रम