বলি আমার কাছে একটি স্ট্রিং রয়েছে যাতে এক্স অজানা অক্ষর রয়েছে। আমি কীভাবে চর এনআর পেতে পারি? 13 বা চর এনআর। এক্স -14?
বলি আমার কাছে একটি স্ট্রিং রয়েছে যাতে এক্স অজানা অক্ষর রয়েছে। আমি কীভাবে চর এনআর পেতে পারি? 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
নেতিবাচক সূচকের জন্য, নেতিবাচক [দৈর্ঘ্য -১] অর্থাৎ ধনাত্মক সূচকের শেষ বৈধ মানটি তালিকার বিপরীত ক্রমে পড়ার পরে দ্বিতীয় তালিকার উপাদান দেবে,
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-তে একটি নির্দিষ্ট সূচীতে একটি পেতে একটু সমস্যা হয় is
যেমন, s = '한국中国にっぽん'যা দিয়ে <type 'str'>,
__getitem__উদাহরণস্বরূপ, s[i]যেখানে আপনি চান সেখানে আপনাকে নিয়ে যায় না। এটি মত কিছু seut বাইরে হবে �। (অনেক ইউনিকোড অক্ষর 1 বাইটের বেশি তবে __getitem__পাইথন 2 এ 1 বাইট বাড়ানো হয়))
পাইথন 2 এর ক্ষেত্রে, আপনি ডিকোডিং দ্বারা সমস্যাটি সমাধান করতে পারেন:
s = '한국中国にっぽん'
s = s.decode('utf-8')
for i in range(len(s)):
print s[i]
Python.org স্ট্রিং উপর একটি চমৎকার অধ্যায় আছে এখানে । যেখানে "স্লাইস নোটেশন" বলে সেখানে নীচে স্ক্রোল করুন।
এটি আরও উল্লেখ করা উচিত পয়েন্ট:
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'