মূল কন্টেন্টে যান
মডিউল 4 · 2-এর পাঠ 4কোর্সে 14/36~10 min
মডিউল পাঠ (2/4)

স্লাইসিং এবং ইনডেক্সিং

পাইথনে, স্ট্রিংগুলি হল অক্ষরের ক্রম: আপনি অ্যাক্সেস করতে পারেন সূচী অনুসারে স্বতন্ত্র অক্ষর এবং স্লাইস দিয়ে সাবস্ট্রিং তৈরি করুন সিনট্যাক্স [start:stop:step] — ঠিক যেমন তালিকার সাথে।

ইতিবাচক এবং নেতিবাচক সূচক

Python
s = "Python"
#    0123456
#   -6-5-4-3-2-1
s[0]    # 'P'
s[5]    # 'n'
s[-1]   # 'n'   (ultimo)
s[-2]   # 'o'   (penultimo)

সীমার বাইরের অ্যাক্সেস IndexError বাড়ায়।

স্লাইসিং [start:stop:step]

Python
s = "Python"
s[0:3]    # 'Pyt'      indici 0,1,2 (stop ESCLUSO)
s[2:]     # 'thon'     dal 2 alla fine
s[:3]     # 'Pyt'      dall'inizio fino al 3 (escluso)
s[:]      # 'Python'   copia completa
s[-3:]    # 'hon'      ultimi 3
s[:-2]    # 'Pyth'     tutto tranne gli ultimi 2

ইনডেক্সিংয়ের বিপরীতে, সূচকগুলি আউট হলে স্লাইসিং ত্রুটি বাড়ায় না পরিসরের: এটি যা করতে পারে তা তৈরি করে।

তৃতীয় যুক্তি: step

Python
s = "Python"
s[::2]    # 'Pto'    salta uno sì uno no
s[1::2]   # 'yhn'    dispari
s[::-1]   # 'nohtyP' INVERSIONE (idiom famoso)

s[::-1] হল একটি স্ট্রিং বিপরীত করার বাহাদুরি উপায়।

দৈর্ঘ্য এবং নিয়ন্ত্রণ

Python
len("Python")        # 6
"th" in "Python"     # True
"java" in "Python"   # False

নেতিবাচক সূচক এবং স্লাইসিং ধাপ

স্লাইসিংয়ের সম্পূর্ণ সিনট্যাক্স হল s[start:stop:step]। আপনি যদি start এবং stop বাদ দেন কিন্তু -1 (s[::-1]) এর একটি নেতিবাচক step সেট করেন, তাহলে আপনি স্ট্রিংটি বিপরীত করবেন। নেতিবাচক সূচক -1 সর্বদা স্ট্রিংটির শেষ অক্ষরকে উপস্থাপন করে, -2 দ্বিতীয় থেকে শেষ, ইত্যাদি।

চেষ্টা করে দেখুন

ব্যায়াম#python.m4.l2.e1
প্রচেষ্টা: 0লোড হচ্ছে...

প্রদত্ত `শব্দ = 'PROGRAMMAZIONE'`, এর বিপরীতে `বিপরীত_শব্দ`-এ পান। `বিপরীত_শব্দ` মূল্যায়ন করুন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

শব্দ [::-1]

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম পর্যালোচনা করুন

ব্যায়াম#python.m4.l2.e2
প্রচেষ্টা: 0লোড হচ্ছে...

`email = 'ada@example.com'` দেওয়া, .find-এর সাথে সূচী খোঁজার পর স্লাইসিং ব্যবহার করে ডোমেন ('@'-এর পরে সবকিছু) ডোমেনে বের করুন। `ডোমেন` মূল্যায়ন করুন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

ইমেইল[email.find('@') + 1:]

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

অতিরিক্ত চ্যালেঞ্জ

ব্যায়াম#python.m4.l2.e3
প্রচেষ্টা: 0লোড হচ্ছে...

স্ট্রিং \`word = "pythonista"\` দেওয়া, প্রথম 3টি অক্ষর এবং শেষ 3টি অক্ষর বের করতে স্লাইসিং ব্যবহার করুন এবং একটি নতুন স্ট্রিং \`short_word\`-এ সংযুক্ত করুন। অবশেষে, \`short_word\` মূল্যায়ন করুন (এটি \`'pytsta'\` পাওয়া উচিত)।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

The first 3 characters are word[:3], the last 3 are word[-3:]. Concatenate the two slices.

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ