आपने मूल रूप से अपने प्रश्न का उत्तर दिया है। अनुक्रम की सीमाओं के बाहर स्लाइसिंग (कम से कम अंतर्निर्मित के लिए) त्रुटि उत्पन्न नहीं करता है। जब आप इसके बारे में सोचते हैं तो यह समझ में आता है। इंडेक्सिंग एक ही आइटम देता है, लेकिन स्लाइसिंग आइटमों के बाद एक रिटर्न देता है। तो जब आप एक गैर-मूल्यवान मूल्य को अनुक्रमणित करने का प्रयास करते हैं, तो वापस लौटने के लिए कुछ भी नहीं है; लेकिन जब आप सीमाओं के बाहर अनुक्रम को फिसलते हैं, तो भी आप एक खाली अनुक्रम वापस कर सकते हैं।
यह भी ध्यान रखें कि x[3]
और x[3:4]
के बीच सामान्य में एक अंतर है। उदाहरण के लिए:
>>> [0, 1, 2, 3, 4, 5][3]
3
>>> [0, 1, 2, 3, 4, 5][3:4]
[3]
कारण वे तार के मामले में एक ही लग रही है वहां एक स्ट्रिंग के बाहर एक व्यक्ति के चरित्र के रूप में ऐसी कोई बात नहीं है कि है, एक एकल चरित्र सिर्फ 1-वर्ण स्ट्रिंग है।
'[999: 99 99]' सूचकांक नहीं है, यह एक टुकड़ा है, और इसमें विभिन्न अर्थशास्त्र हैं। पायथन परिचय से: "टुकड़े टुकड़े सूचकांक को सुदृढ़ तरीके से संभाला जाता है: एक सूचकांक जो बहुत बड़ा होता है उसे स्ट्रिंग आकार से प्रतिस्थापित किया जाता है, निचले बाउंड की तुलना में ऊपरी बाउंड एक खाली स्ट्रिंग देता है।" – geoffspear
@Wooble जो वास्तविक उत्तर है – jondavidjohn
@Wooble और क्या आप जानते हैं कि यह ऐसा क्यों है? अपने स्पष्टीकरण के लिए धन्यवाद। – ijverig