आप Python में स्लाइसिंग या reversed() मेथड का उपयोग करके स्ट्रिंग को उल्टा कर सकते हैं। एक पुनरावर्ती फ़ंक्शन जो स्ट्रिंग में प्रत्येक वर्ण को पढ़ता है और पूरी स्ट्रिंग को उल्टा करता है, स्ट्रिंग को उल्टा करने का एक और आम तरीका है। कोई फ़ंक्शन स्पष्ट रूप से स्ट्रिंग को उल्टा करने के लिए डिज़ाइन नहीं किया गया है।
जब आप Python में काम कर रहे होते हैं, तो आपके पास एक स्ट्रिंग हो सकती है जिसे आप उल्टा करना चाहते हैं। उदाहरण के लिए, मान लीजिए आप एक गेम बना रहे हैं। आप उपयोगकर्ताओं को अपना नाम प्रोग्राम में सबमिट करके और प्रोग्राम द्वारा इसे उल्टा करके उपयोगकर्ता नाम उत्पन्न करने की अनुमति देना चाह सकते हैं।
स्ट्रिंग उल्टा करना प्रोग्रामिंग में एक सामान्य ऑपरेशन नहीं है, इसलिए Python के पास स्ट्रिंग्स को उल्टा करने के लिए कोई बिल्ट-इन फ़ंक्शन नहीं है। हालांकि, स्ट्रिंग उल्टा करना नौकरी के इंटरव्यू में आने वाला एक विषय है, और इसके कुछ वास्तविक दुनिया के अनुप्रयोग हैं।
इस ट्यूटोरियल में, हम Python में स्ट्रिंग को उल्टा करने के लिए उपयोग की जा सकने वाली तीन मेथड्स पर चर्चा करेंगे। हम Python स्ट्रिंग पुनर्कथन से शुरू करेंगे। इसके बाद, हम स्ट्रिंग स्लाइसिंग पर चर्चा करेंगे। फिर, हम reversed() और join() फ़ंक्शंस का उपयोग कैसे करें, इसका पता लगाएंगे। अंत में, हम पुनरावृत्ति (recursion) को देखेंगे।
Python में स्ट्रिंग कैसे उल्टा करें
स्ट्रिंग को उल्टा करने के लिए आप तीन मेथड्स का उपयोग कर सकते हैं:
[::-1]सिंटैक्स के साथ स्ट्रिंग को स्लाइस करना- स्ट्रिंग को पढ़ने और उसकी सामग्री को उल्टा करने के लिए रिवर्स इटरेटर बनाने के लिए
reversed()फ़ंक्शन का उपयोग करना - पुनरावर्ती फ़ंक्शन का उपयोग करना
आइए इन तीनों मेथड्स पर चर्चा करें।
स्लाइसिंग का उपयोग करके Python Reverse String
जब आप Python स्ट्रिंग को स्लाइस कर रहे होते हैं, तो आप स्ट्रिंग की उल्टी प्रति बनाने के लिए [::-1] स्लाइसिंग अनुक्रम का उपयोग कर सकते हैं। यह सिंटैक्स स्ट्रिंग में सभी वर्णों को पुनर्प्राप्त करता है और उन्हें उल्टा कर देता है।
मान लीजिए हमारे पास "Python" मान वाली एक स्ट्रिंग है। हम इस स्ट्रिंग को उल्टे क्रम में देखना चाहते हैं। हम [::-1] सिंटैक्स का उपयोग करके ऐसा कर सकते हैं:
string = "Python" reversed = string[::-1] print(reversed)
हमारा कोड लौटाता है: nohtyP।
हम reversed नामक एक Python वेरिएबल घोषित करते हैं जो हमारी उल्टी स्ट्रिंग को संग्रहीत करता है। [::-1] सिंटैक्स उस वेरिएबल के अंत में जोड़ा जाता है जिसमें हमारा "Python" स्ट्रिंग मान होता है।
यह उपयोग करने के लिए एक प्रभावी मेथड है क्योंकि यह छोटा और सरल है। आपको स्ट्रिंग को उल्टा करने के लिए केवल स्ट्रिंग के अंत में [::-1] जोड़ने की आवश्यकता है।
यह मेथड भ्रमित करने वाला लग सकता है क्योंकि सिंटैक्स स्पष्ट रूप से यह नहीं बताता कि इसका उपयोग स्ट्रिंग्स को उल्टा करने के लिए किया जा सकता है। परिणामस्वरूप, कई डेवलपर्स इस तकनीक का उपयोग करने से बचते हैं।
reversed() का उपयोग करके Reverse String Python
Python में एक बिल्ट-इन फ़ंक्शन शामिल है जिसका उपयोग रिवर्स इटरेटर बनाने के लिए किया जाता है: reversed() फ़ंक्शन। यह इटरेटर काम करता है क्योंकि स्ट्रिंग्स अनुक्रमित होती हैं, इसलिए स्ट्रिंग में प्रत्येक मान को व्यक्तिगत रूप से एक्सेस किया जा सकता है।
रिवर्स इटरेटर का उपयोग तब स्ट्रिंग में तत्वों पर उल्टे क्रम में पुनरावृति करने के लिए किया जाता है।
यहाँ एक उदाहरण है जो हमारी स्ट्रिंग को उल्टे क्रम में प्रिंट करने के लिए रिवर्स इटरेटर बनाने के लिए reversed() का उपयोग करता है:
for char in reversed("Python"):
print(char)
हमारा कोड लौटाता है:
n o h t y P
हमारे कोड में, हम एक Python for लूप निर्दिष्ट करते हैं जो reversed() मेथड में प्रत्येक आइटम के माध्यम से पुनरावृति करता है। आप देख सकते हैं कि हमारे कोड ने हमारी स्ट्रिंग को उल्टे क्रम में प्रिंट किया है।
हमारा कोड प्रत्येक वर्ण को एक नई लाइन पर प्रिंट करता है। ऐसा इसलिए है क्योंकि हमने reversed() का उपयोग for लूप के साथ किया। यदि हम चाहते हैं कि हमारी स्ट्रिंग एक ही लाइन पर दिखाई दे, तो हमें reversed() का उपयोग join() मेथड के साथ करना होगा।
हम अपने reversed() इटरेटर से सभी वर्णों को एक स्ट्रिंग में मर्ज करने के लिए join() मेथड का उपयोग कर सकते हैं।
यहाँ एक उदाहरण है जो Python स्ट्रिंग को उल्टा करने के लिए reversed() और join() का उपयोग करता है:
"".join(reversed("Python"))
हमारा कोड लौटाता है: nohtyP।
स्ट्रिंग्स को उल्टा करने की यह मेथड उपयोगी है क्योंकि, ऊपर चर्चा की गई स्लाइसिंग मेथड की तरह, यह कॉम्पैक्ट और संक्षिप्त है। इस मेथड का अतिरिक्त लाभ यह है कि इसे पढ़ना और समझना आसान है। यहां तक कि अगर आपने पहले reversed() या join() मेथड्स नहीं देखे हैं, तो आप अनुमान लगा पाएंगे कि क्या हो रहा है।
Reverse a String Python: पुनरावृत्ति (Recursion)
पुनरावृत्ति कंप्यूटर विज्ञान में एक फ़ंक्शन का वर्णन करने के लिए उपयोग किया जाने वाला शब्द है जो स्वयं को कॉल करता है, या तो सीधे या परोक्ष रूप से। यहाँ Python पुनरावृत्ति के माध्यम से स्ट्रिंग को उल्टा करने का एक उदाहरण है:
def reverse_string(string):
if len(string) == 0:
return string
else:
return reverse_string(string[1:]) + string[0]
reverse_string("Python")
हमारा कोड लौटाता है: nohtyP।
यह मेथड हमारी स्ट्रिंग को उल्टा करने के लिए स्लाइसिंग का उपयोग करता है। पहले की तरह एकल स्लाइस ऑपरेशन का उपयोग करने के बजाय, हमने reverse_string नामक एक Python फ़ंक्शन का उपयोग किया।
यह फ़ंक्शन हमारी स्ट्रिंग को स्लाइस करता है और एक उल्टा संस्करण लौटाता है। यह मेथड बहुत प्रभावी है। परिणामस्वरूप, कई Python डेवलपर्स इसे पसंद करते हैं।
हमारा फ़ंक्शन वह स्ट्रिंग स्वीकार करता है जिसे हम उल्टा करना चाहते हैं। यदि स्ट्रिंग में कोई वर्ण नहीं हैं, तो स्ट्रिंग का मान लौटाया जाता है। अन्यथा, हम स्ट्रिंग[1:] सिंटैक्स को तर्क के रूप में उपयोग करके फ़ंक्शन को फिर से कॉल करते हैं। हम अपनी स्ट्रिंग में पहले वर्ण को इस फ़ंक्शन द्वारा लौटाए गए अंत में जोड़ते हैं।
निष्कर्ष
जबकि Python में बिल्ट-इन रिवर्स फ़ंक्शन शामिल नहीं है, कुछ दृष्टिकोण हैं जिनका उपयोग हम स्ट्रिंग को उल्टा करने के लिए कर सकते हैं।
हम [::-1] स्लाइसिंग मेथड का उपयोग करके स्लाइसिंग के माध्यम से स्ट्रिंग को उल्टा कर सकते हैं, रिवर्स इटरेशन के माध्यम से स्ट्रिंग को उल्टा करने के लिए reversed() और join() फ़ंक्शंस का उपयोग कर सकते हैं, या पुनरावर्ती फ़ंक्शन का उपयोग करके स्ट्रिंग को उल्टा कर सकते हैं।
इस ट्यूटोरियल में, हमने Python में स्ट्रिंग को उल्टा करने के लिए स्लाइसिंग, reversed() और join(), और पुनरावृत्ति का उपयोग करने पर चर्चा की। हमने इनमें से प्रत्येक स्ट्रिंग मेथड के कार्य का एक उदाहरण खोजा।
Python कोड लिखने के बारे में अधिक जानने के लिए, हमारा व्यापक How to Learn Python गाइड पढ़ें।