Python में स्ट्रिंग्स के साथ काम करना: पूरी गाइड
Python में स्ट्रिंग्स सबसे महत्वपूर्ण और सबसे ज़्यादा इस्तेमाल होने वाले डेटा टाइप्स में से एक हैं। इनका उपयोग लगभग हर प्रोग्राम में अलग-अलग कामों के लिए किया जाता है:
- टेक्स्ट दिखाना
- लॉगिंग (Logging)
- इनपुट-आउटपुट प्रोसेसिंग
- डेटा को समझना और प्रोसेस करना
- यूज़र के साथ इंटरैक्शन
Python डेवलपर्स को स्ट्रिंग्स के साथ काम करने के लिए शक्तिशाली, लचीले और आसान टूल्स प्रदान करता है। इस आर्टिकल में हम सबसे उपयोगी और ज़रूरी मेथड्स को विस्तार से समझेंगे जो आपकी रोज़ाना प्रोग्रामिंग में काम आएंगे।
स्ट्रिंग्स को जोड़ना: join() मेथड
join() मेथड Python में स्ट्रिंग्स को जोड़ने का सबसे कारगर तरीका है। यह खासतौर पर तब उपयोगी होता है जब आपको कई शब्दों या कैरेक्टर्स की लिस्ट से एक स्ट्रिंग बनानी हो।
join() का उदाहरण
मान लीजिए आपके पास शब्दों की एक लिस्ट है और आपको उन्हें एक वाक्य में जोड़ना है:
words = ["Python", "सबसे", "अच्छी", "भाषा", "है"]
sentence = " ".join(words)
print(sentence) # Python सबसे अच्छी भाषा है
इस उदाहरण में, join() मेथड को सेपरेटर स्ट्रिंग (यहाँ स्पेस " ") पर कॉल किया गया है और यह एक इटरेटेबल ऑब्जेक्ट (लिस्ट words) को लेता है जिसमें स्ट्रिंग्स हैं।
join() के और उदाहरण
print(", ".join(["a", "b", "c"])) # 'a, b, c'
print("-".join("123")) # '1-2-3'
join() बनाम + ऑपरेटर: क्या बेहतर है?
जब आप लूप में + ऑपरेटर का उपयोग करके स्ट्रिंग्स को जोड़ते हैं, तो हर बार एक नई स्ट्रिंग मेमोरी में बनती है। बड़े डेटा के साथ यह बहुत धीमा और संसाधन-खर्चीला हो सकता है। इसके विपरीत, join() मेथड एक ही बार में पूरी स्ट्रिंग बनाता है, जो इसे ज़्यादा कुशल बनाता है।
अकुशल तरीका (लूप के साथ):
result = ""
for word in words:
result += word + " "
कुशल तरीका (join() के साथ):
result = " ".join(words)
सबस्ट्रिंग ढूँढना: find(), rfind(), index(), और in ऑपरेटर
स्ट्रिंग्स में सबस्ट्रिंग ढूँढना एक बहुत ही आम काम है। Python इसके लिए कई आसान और शक्तिशाली टूल्स देता है: find(), rfind(), index() मेथड्स और in ऑपरेटर।
find() मेथड
find() मेथड स्ट्रिंग में दी गई सबस्ट्रिंग की पहली जगह ढूँढता है। अगर सबस्ट्रिंग मिल जाती है, तो यह उसका इंडेक्स लौटाता है। अगर नहीं मिलती, तो -1 लौटाता है।
s = "नमस्ते, दुनिया"
print(s.find("दुनिया")) # 9
print(s.find("Python")) # -1
आप सर्च की रेंज भी सेट कर सकते हैं, यानी किस खास हिस्से में ही ढूँढना है:
s.find("टेस्ट", 5, 20)
rfind() मेथड
rfind() मेथड स्ट्रिंग के अंत से सबस्ट्रिंग ढूँढना शुरू करता है। यह सबस्ट्रिंग के आखिरी इंडेक्स को लौटाता है, या -1 अगर नहीं मिलती।
s = "टेस्ट टेस्ट टेस्ट"
print(s.rfind("टेस्ट")) # 12
index() मेथड
index() मेथड find() की तरह ही काम करता है, लेकिन अगर सबस्ट्रिंग नहीं मिलती तो यह ValueError एरर देता है।