आइए कहते हैं कि मेरे पास एक स्ट्रिंग है जिसमें x अज्ञात वर्ण हैं। मैं चार एनआर कैसे प्राप्त कर सकता हूं। 13 या चार एन.आर. एक्स-14?
जवाबों:
पहले सुनिश्चित करें कि आवश्यक संख्या शुरुआत या अंत से स्ट्रिंग के लिए एक वैध सूचकांक है , तो आप बस सरणी सबस्क्रिप्ट नोटेशन का उपयोग कर सकते हैं। len(s)स्ट्रिंग की लंबाई पाने के लिए उपयोग करें
>>> s = "python"
>>> s[3]
'h'
>>> s[6]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> s[0]
'p'
>>> s[-1]
'n'
>>> s[-6]
'p'
>>> s[-7]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>>
s[-5]काम कर सकता है, लेकिन s[-6]एक इंडेक्स को सीमा त्रुटि से शिकायत करेगा? तो पायथन में स्ट्रिंग ऑब्जेक्ट में कार्यान्वयन के बारे में उत्सुक।
In [1]: x = "anmxcjkwnekmjkldm!^%@(*)#_+@78935014712jksdfs"
In [2]: len(x)
Out[2]: 45
अब, x के लिए पॉजिटिव इंडेक्स रेंज 0 से 44 तक है (यानी लंबाई - 1)
In [3]: x[0]
Out[3]: 'a'
In [4]: x[45]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
/home/<ipython console> in <module>()
IndexError: string index out of range
In [5]: x[44]
Out[5]: 's'
नकारात्मक सूचकांक के लिए, सूचकांक -1 से -45 तक होता है
In [6]: x[-1]
Out[6]: 's'
In [7]: x[-45]
Out[7]: 'a
नकारात्मक सूचकांक के लिए, ऋणात्मक [लंबाई -1] अर्थात सकारात्मक सूचकांक का अंतिम वैध मूल्य दूसरी सूची तत्व देगा क्योंकि सूची को उल्टे क्रम में पढ़ा जाता है,
In [8]: x[-44]
Out[8]: 'n'
अन्य, सूचकांक के उदाहरण
In [9]: x[1]
Out[9]: 'n'
In [10]: x[-9]
Out[10]: '7'
पिछले उत्तर ASCII characterएक निश्चित इंडेक्स के बारे में बताते हैं ।
Unicode characterपायथन 2 में एक निश्चित इंडेक्स पर मिलना थोड़ा मुश्किल है ।
उदाहरण के लिए, के साथ s = '한국中国にっぽん'जो है <type 'str'>,
__getitem__, जैसे, s[i]आप जहां चाहें, वहां ले जाते हैं। यह जैसे बाहर थूकना होगा �। (कई यूनिकोड वर्ण 1 बाइट से अधिक हैं, लेकिन __getitem__पायथन 2 में 1 बाइट से वृद्धि हुई है।)
इस पायथन 2 मामले में, आप डिकोडिंग करके समस्या को हल कर सकते हैं:
s = '한국中国にっぽん'
s = s.decode('utf-8')
for i in range(len(s)):
print s[i]
यह आगे बिंदुओं को स्पष्ट करना चाहिए:
a = int(raw_input('Enter the index'))
str1 = 'Example'
leng = len(str1)
if (a < (len-1)) and (a > (-len)):
print str1[a]
else:
print('Index overflow')
इनपुट 3 आउटपुट मी
इनपुट -3 आउटपुट पी
मुझे लगता है कि इसे शब्दों में वर्णित करने से ज्यादा स्पष्ट है
s = 'python'
print(len(s))
6
print(s[5])
'n'
print(s[len(s) - 1])
'n'
print(s[-1])
'n'