अजगर प्रलेखन docs.python.org/tutorial/introduction.html#strings से:पायथन * वास्तव में * में डिफ़ॉल्ट टुकड़ा सूचकांक क्या हैं?
स्लाइस सूचकांक उपयोगी चूक है; एक छोड़ा गया पहला सूचकांक शून्य पर डिफ़ॉल्ट होता है, एक छोड़ी गई दूसरी अनुक्रमणिका स्ट्रिंग के आकार के लिए डिफ़ॉल्ट होती है।
>>> s = 'mystring' >>> s[1:] 'ystring' >>> s[:3] 'mys' >>> s[:-2] 'mystri' >>> s[-1:] 'g' >>>
अब तक तो अच्छा:
मानक मामले के लिए, यह भावना का एक बहुत बनाता है। हालांकि, एक नकारात्मक कदम मूल्य का उपयोग कर थोड़ा अलग चूक सुझाव देने के लिए लगता है:
>>> s[:3:-1]
'gnir'
>>> s[0:3:-1]
''
>>> s[2::-1]
'sym'
ठीक है, शायद अगर कदम नकारात्मक है, चूक रिवर्स। स्ट्रिंग के आकार के एक लोप पहले सूचकांक चूक शून्य करने के लिए कटा हुआ जा रहा है, एक छोड़े गए दूसरे सूचकांक चूक:
>>> s[len(s):3:-1]
'gnir'
अच्छा लग रहा है!
>>> s[2:0:-1]
'sy'
व्हाउप्स। याद किया कि 'एम'।
फिर हर कोई पसंदीदा स्ट्रिंग रिवर्स स्टेटमेंट है। और मीठा है:
>>> s[::-1]
'gnirtsym'
हालांकि:
>>> s[len(s):0:-1]
'gnirtsy'
टुकड़ा कभी नहीं टुकड़ा में दूसरा सूचकांक का मूल्य भी शामिल है। मैं इसे इस तरह से करने की स्थिरता देख सकता हूं।
तो मुझे लगता है कि मैं अपने विभिन्न क्रमपरिवर्तनों में टुकड़ा के व्यवहार को समझना शुरू कर रहा हूं। हालांकि, मुझे यह महसूस हो रहा है कि दूसरी अनुक्रमणिका कुछ खास है, और नकारात्मक चरण के लिए दूसरी अनुक्रमणिका का डिफ़ॉल्ट मान वास्तव में किसी संख्या के संदर्भ में परिभाषित नहीं किया जा सकता है।
क्या कोई भी डिफॉल्ट स्लाइस इंडेक्स को संक्षेप में परिभाषित कर सकता है जो प्रदान किए गए उदाहरणों के लिए खाता कर सकता है? दस्तावेज़ीकरण एक बड़ा प्लस होगा।
j
चूक आपकी यह सोच ... अजगर सामान बस में "काम करता है" से अधिक: पी –gnibbler के रूप में नीचे बताते हैं, कभी कभी आप _do_ को यह जानना है कि यह कैसे काम करता है। उदाहरण के लिए, यदि आपके पास कोई ऐसा फ़ंक्शन है जो उन पैरामीटर के मानों के आधार पर तीन वैकल्पिक पैरामीटर और स्लाइस लेता है, तो पैरामीटर छोड़े जाने पर इसका क्या उपयोग करना चाहिए? – abarnert
मुझे पता था कि मैं थोड़ा लटक रहा था, लेकिन कभी-कभी मैं जानना चाहता हूं कि चीजें कैसे काम करती हैं। मुझे जादू पर भरोसा नहीं है :-)। – MikeG