Python में string को reverse करने के लिए कोई in-built फंक्शन नहीं है। इस प्रकार, हमें string को reverse करने के लिए अपनी logic implement करनी होगी।
हम विभिन्न विधियों का उपयोग करके string को reverse करेंगे।
FOR Loop का उपयोग
इस विधि के पीछे विचार string के last index से 0th index तक शुरू होने वाले reverse loop का उपयोग करना है। प्रत्येक iteration पर, हम string के characters को reversed string को अंत में hold करने के लिए जोड़ेंगे।
आइए सामान्य प्रक्रिया देखें जिसका हम पालन करेंगे:
a := new string
string के last index से 0th index तक loop करें और 1 से decrement करें: a = a + current index पर character
a return करें
उदाहरण
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
उपरोक्त दृष्टिकोण का बुद्धिमान कार्यान्वयन इस प्रकार है:
यहां, हम for each loop का उपयोग करते हैं और प्रत्येक character को new string की शुरुआत में append करते हैं।
New string के प्रत्येक character को append करने से हमें reversed string मिलती है। For each loop के बजाय, हम string की length तक 0 से index का normal loop उपयोग कर सकते हैं।
उदाहरण
def reverse(s):
a = ""
for i in s:
a = i + a
return a
string = "TutorialsPoint"
print(reverse(string))
आउटपुट
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
WHILE Loop का उपयोग
हम for loop को while loop से replace कर सकते हैं। हम last index से 0th index तक while loop iterate करेंगे और current index पर प्रत्येक character को new string के अंत में concatenate करके reversed string प्राप्त करेंगे।
उदाहरण
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
Extended Slice Syntax का उपयोग
Extended slice syntax के तीन parameters होते हैं, [start, end, step]। Start और end के रूप में कोई fields न देने का मतलब default रूप से 0 start और string की length end के रूप में होता है। Step के रूप में '-1' specify करने का मतलब end से शुरू करके start पर रुकना होता है। इस प्रकार, हमें reversed string मिलती है।
उदाहरण
def reverse(s):
a = s[::-1]
return a
string = "TutorialsPoint"
print(reverse(string))
आउटपुट
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
join() और reversed() का उपयोग
हम reversed() का उपयोग करके string को reverse कर सकते हैं। लेकिन reverse फंक्शन reversed iterator लौटाता है। इसलिए हमें reversed iterator के characters को join करके string प्राप्त करने की आवश्यकता होती है।
उदाहरण
def reverse(s):
a = "".join(reversed(s))
return a
string = "TutorialsPoint"
print(reverse(string))
आउटपुट
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
Recursion का उपयोग
हम recursion का उपयोग करके string को reverse कर सकते हैं। हम index 1 से last तक string पास करके reverse function को recursively call करेंगे। इस प्रकार, हम continuously string की लंबाई को 0 की ओर कम करेंगे जो string को return करने का हमारा base case है। इस प्रकार, प्रत्येक recursive call पर हम string को index 1 से last तक slice करते हैं और first character को sliced string के अंत में concatenate करते हैं।
उदाहरण
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
ये Python में string को reverse करने के कुछ तरीके थे। हमने Python में string को reverse करने के पांच अलग-अलग तरीकों पर चर्चा की है।
सबसे तेज और सर्वोत्तम विधि कौन सी है?
String को reverse करने के लिए सबसे तेज और सर्वोत्तम विधि Slicing (विधि 3) का उपयोग करना है। यह Python में string को reverse करने के सभी तरीकों में सबसे तेज परिणाम देता है। यह विधि implement करना बहुत आसान है क्योंकि इसमें सिर्फ 1 line of code है और हमें अपनी तरफ से कोई logic implement करने की आवश्यकता नहीं है।