একটি স্ট্রিংকে বিপরীত করার জন্য পাইথনের কোনো অন্তর্নির্মিত ফাংশন নেই। এইভাবে, একটি স্ট্রিং বিপরীত করার জন্য আমাদের নিজস্ব যুক্তি প্রয়োগ করতে হবে।
আমরা বিভিন্ন পদ্ধতি ব্যবহার করে একটি স্ট্রিং বিপরীত করব।
লুপের জন্য ব্যবহার করা
এই পদ্ধতির পিছনে ধারণা হল স্ট্রিংয়ের শেষ সূচক থেকে 0 তম সূচক পর্যন্ত একটি বিপরীত লুপ ব্যবহার করা। প্রতিটি পুনরাবৃত্তিতে, আমরা পুনরাবৃত্তির শেষে বিপরীত স্ট্রিং ধরে রাখতে স্ট্রিংয়ের অক্ষর যোগ করব।
আসুন আমরা যে সাধারণ পদ্ধতি অনুসরণ করব তা দেখি -
-
a:=নতুন স্ট্রিং
-
স্ট্রিংয়ের শেষ সূচক থেকে 0 তম সূচকে লুপ এবং বর্তমান সূচকে 1 a=a+অক্ষর হ্রাস করুন
-
একটি ফেরত দিন
উদাহরণ
def reverse(s): a="" last_index=len(s)-1 for i in range(last_index,-1,-1): a=a+s[i] return a string="TutorialsPoint" print(reverse(string))
আউটপুট
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
উপরের পদ্ধতির বুদ্ধিমান বাস্তবায়ন নিম্নরূপ -
এখানে, আমরা প্রতিটি লুপের জন্য ব্যবহার করি এবং নতুন স্ট্রিংয়ের শুরুতে প্রতিটি অক্ষর যোগ করি।
নতুন স্ট্রিং এর প্রতিটি অক্ষর যুক্ত করা আমাদেরকে বিপরীত স্ট্রিং দেয়৷ প্রতিটি লুপের পরিবর্তে, আমরা সূচক 0 থেকে স্ট্রিংটির দৈর্ঘ্য পর্যন্ত সাধারণ লুপ ব্যবহার করতে পারি৷
উদাহরণ
def reverse(s): a="" for i in s: a=i+a return a string="TutorialsPoint" print(reverse(string))
আউটপুট
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
উইল লুপ ব্যবহার করা
আমরা যখন লুপের জন্য লুপ প্রতিস্থাপন করতে পারি৷ আমরা যখন লুপ শেষ সূচক থেকে 0 তম সূচকে পুনরাবৃত্ত করব এবং বিপরীত স্ট্রিং পেতে বর্তমান সূচকে প্রতিটি অক্ষরকে নতুন স্ট্রিংয়ের শেষ পর্যন্ত সংযুক্ত করব৷
উদাহরণ
def reverse(s): a="" i=len(s)-1 while(i>=0): a=a+s[i] i-=1 return a string="TutorialsPoint" print(reverse(string))
আউটপুট
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
বর্ধিত স্লাইস সিনট্যাক্স ব্যবহার করা
বর্ধিত স্লাইস সিনট্যাক্সের তিনটি প্যারামিটার আছে, [শুরু, শেষ, ধাপ]। ডিফল্টভাবে স্টার্ট এবং এন্ড হিসেবে কোনো ফিল্ড না দেওয়ার মানে হল স্ট্রিং এর শুরু এবং দৈর্ঘ্য শেষ হিসাবে 0। ধাপ '-1' হিসাবে নির্দিষ্ট করার মানে হল শেষ থেকে শুরু করা এবং শুরুতে থামানো। তাই, আমরা বিপরীত স্ট্রিং পাই।
উদাহরণ
def reverse(s): a=s[::-1] return a string="TutorialsPoint" print(reverse(string)) Using join and reversed()
আউটপুট
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
আমরা reversed() ব্যবহার করে ফাংশন বিপরীত করতে পারি। কিন্তু বিপরীত ফাংশন বিপরীত পুনরাবৃত্তিকারী প্রদান করে। তাই একটি স্ট্রিং পেতে আমাদের বিপরীত পুনরাবৃত্তিকারীর অক্ষরের সাথে যোগ দিতে হবে।
যোগদান এবং বিপরীত() ব্যবহার করা
উদাহরণ
def reverse(s): a="".join(reversed(s)) return a string="TutorialsPoint" print(reverse(string))
আউটপুট
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
পুনরাবৃত্তি ব্যবহার করা
আমরা recursion ব্যবহার করে একটি স্ট্রিং রিভার্স করতে পারি। ইনডেক্স 1 থেকে শেষ পর্যন্ত স্ট্রিং পাস করে আমরা রিভার্স ফাংশনকে রিকার্সিভলি কল করব। এইভাবে, আমরা ক্রমাগত স্ট্রিংয়ের দৈর্ঘ্য 0-এর দিকে কমিয়ে রাখব যা স্ট্রিংটি ফেরত দেওয়ার জন্য আমাদের বেস কেস। এইভাবে, প্রতিটি পুনরাবৃত্ত কলে আমরা সূচী 1 থেকে শেষ পর্যন্ত স্ট্রিংটি স্লাইস করি এবং কাটা স্ট্রিংয়ের শেষে প্রথম অক্ষরটিকে সংযুক্ত করি।
উদাহরণ
def reverse(s): if(len(s)==0): return s else: return reverse(s[1:])+s[0] string="TutorialsPoint" print(reverse(string))
আউটপুট
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
এগুলি পাইথনে একটি স্ট্রিং বিপরীত করার কিছু পদ্ধতি ছিল। আমরা পাইথনে একটি স্ট্রিং বিপরীত করার জন্য পাঁচটি ভিন্ন পদ্ধতি নিয়ে আলোচনা করেছি।
ব্যবহার করার সবচেয়ে দ্রুত এবং সর্বোত্তম পদ্ধতি কোনটি?
একটি স্ট্রিং বিপরীত করার জন্য সবচেয়ে দ্রুত এবং সর্বোত্তম পদ্ধতি হল স্লাইসিং (পদ্ধতি 3) ব্যবহার করা। এটি পাইথনে একটি স্ট্রিং বিপরীত করার সমস্ত পদ্ধতির মধ্যে দ্রুততম ফলাফল দেয়। এই পদ্ধতিটি বাস্তবায়ন করা খুবই সহজ কারণ এতে মাত্র 1 লাইনের কোড রয়েছে এবং আমাদের পক্ষ থেকে কোনো যুক্তি প্রয়োগ করার প্রয়োজন নেই৷