एक स्ट्रिंग को उलटने के लिए पायथन में कोई अंतर्निहित कार्य नहीं है। इस प्रकार, हमें एक स्ट्रिंग को उलटने के लिए अपने स्वयं के तर्क को लागू करने की आवश्यकता है।
हम विभिन्न विधियों का उपयोग करके एक स्ट्रिंग को उलट देंगे।
फॉर लूप का उपयोग करना
इस पद्धति के पीछे का विचार स्ट्रिंग के अंतिम इंडेक्स से 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
हम रिवर्स () का उपयोग करके फ़ंक्शन को उलट सकते हैं। लेकिन रिवर्स फ़ंक्शन उल्टे इटरेटर को लौटाता है। इसलिए हमें एक स्ट्रिंग प्राप्त करने के लिए उल्टे इटरेटर के पात्रों में शामिल होने की आवश्यकता है।
शामिल और उलटे का उपयोग करना()
उदाहरण
def reverse(s): a="".join(reversed(s)) return a string="TutorialsPoint" print(reverse(string))
आउटपुट
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
पुनरावृत्ति का उपयोग करना
हम रिकर्सन का उपयोग करके एक स्ट्रिंग को उलट सकते हैं। हम स्ट्रिंग को इंडेक्स 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 पंक्ति है और हमें अपनी ओर से किसी तर्क को लागू करने की आवश्यकता नहीं है।