Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python स्ट्रिंग्स में महारत हासिल करें: आवश्यक ऑपरेशन्स और सर्वोत्तम प्रथाएं

स्ट्रिंग्स Python में बुनियादी डेटा प्रकारों में से एक हैं। Python स्ट्रिंग्स अक्षरों, अंकों और अन्य विशेष वर्णों से बने किसी भी संख्या में वर्णों का संयोजन हैं। इस ट्यूटोरियल में, आप सीखेंगे कि विभिन्न परिदृश्यों में उपयोग के लिए उन्हें कैसे बनाएं, हेरफेर करें और फॉर्मेट करें।

Python में नई स्ट्रिंग्स बनाएं

नई Python स्ट्रिंग बनाने के लिए, आपको बस एकल या दोहरे उद्धरण चिह्नों से घिरे वर्णों के अनुक्रम की घोषणा करनी होगी। बहु-लाइन स्ट्रिंग्स के लिए तीन उद्धरण चिह्नों का भी उपयोग किया जाता है।

double_quotes = "My name is John!"
single_quotes = 'My name is John!'
multi_line_string = '''1. My name is John!
2. I am a programmer'''

स्ट्रिंग इंडेक्सिंग

Python स्ट्रिंग में प्रत्येक वर्ण का एक पूर्णांक इंडेक्स होता है। इंडेक्सिंग पहले वर्ण पर 0 से शुरू होती है और स्ट्रिंग के साथ बढ़ती है। आप स्ट्रिंग से उस वर्ण को पुनः प्राप्त करने के लिए किसी व्यक्तिगत वर्ण के इंडेक्स का उपयोग कर सकते हैं जैसे निम्न उदाहरण दिखाता है।

myPet = "Dog not a cat"
myPet[0]  # 'D'
myPet[5]  # 'o'
myPet[7]  # ' '
myPet[12] # 't'
# myPet[15] # IndexError

अंतिम वर्ण के इंडेक्स से परे वर्ण तक पहुंचने का प्रयास करने पर IndexError होता है।

आप नकारात्मक इंडेक्स का उपयोग करके स्ट्रिंग में वर्ण एक्सेस कर सकते हैं। इस मामले में, इंडेक्सिंग स्ट्रिंग के अंतिम वर्ण पर -1 से शुरू होती है, और पीछे जाते हुए नकारात्मक रूप से बढ़ती है।

myPet = "Dog not a cat"
myPet[-1]  # 't'
myPet[-6]  # ' '
myPet[-8]  # 'o'
myPet[-13] # 'D'

स्ट्रिंग स्लाइसिंग

स्लाइसिंग स्ट्रिंग से सबस्ट्रिंग (स्ट्रिंग का एक भाग) निकालने की विधि है। यह कार्य स्ट्रिंग इंडेक्सिंग की सहायता से प्राप्त किया जाता है।

myPet = "Dog not a cat"
myPet[5:7]  # 'ot'
myPet[1:12] # 'og not a ca'

यहां, कोलन द्वारा अलग किए गए दो इंडेक्स प्रदान किए जाते हैं, पहला इंडेक्स इंगित करता है कि स्लाइसिंग कहां से शुरू करें और दूसरा इंडेक्स इंगित करता है कि कहां रुकें। परिणामी सबस्ट्रिंग में प्रारंभिक इंडेक्स से अंतिम इंडेक्स से पहले के वर्ण तक के वर्ण शामिल होते हैं, अंतिम इंडेक्स पर वर्ण सबस्ट्रिंग में शामिल नहीं होता।

यदि आप प्रारंभिक इंडेक्स प्रदान नहीं करते हैं, तो स्लाइसिंग स्ट्रिंग के पहले वर्ण से शुरू होती है। यदि आप अंतिम इंडेक्स प्रदान नहीं करते हैं, तो स्लाइसिंग अंतिम वर्ण पर समाप्त होती है और इसे परिणामी सबस्ट्रिंग में शामिल करती है।

myPet = "Dog not a cat"
myPet[:7]  # 'Dog not'
myPet[10:] # 'cat'
myPet[:]   # 'Dog not a cat'

आप स्लाइसिंग इंडेक्स के रूप में नकारात्मक इंडेक्स भी प्रदान कर सकते हैं।

myPet = "Dog not a cat"
myPet[10:-1] # 'ca'

स्ट्रिंग की लंबाई

बिल्ट-इन Python मेथड len() स्ट्रिंग की लंबाई आउटपुट करता है।

myPet = "Dog not a cat"
len(myPet) # 13

स्ट्रिंग के माध्यम से इटरेट करें

आप for लूप का उपयोग करके स्ट्रिंग में प्रत्येक वर्ण के माध्यम से इटरेट कर सकते हैं।

उदाहरण:

name = "John"
for char in name:
    print(char)  # 'J', 'o', 'h', 'n'

स्ट्रिंग कॉनकैटनेशन

स्ट्रिंग कॉनकैटनेशन दो या अधिक स्ट्रिंग्स को जोड़कर एक सिंगल स्ट्रिंग बनाने का कार्य है। Python में, स्ट्रिंग्स को कॉनकैट करने के कई तरीके हैं।

एक है + ऑपरेटर का उपयोग करना।

str1 = 'Hello'
str2 = 'World'
concat_str = str1 + str2  # 'HelloWorld'
concat_str = str1 + ' ' + str2  # 'Hello World'

आप किसी स्ट्रिंग को किसी भी संख्या में स्वयं से जोड़ने के लिए * ऑपरेटर का उपयोग कर सकते हैं।

concat_str = str1*3  # 'HelloHelloHello'

स्ट्रिंग्स को कॉनकैट करने का एक और तरीका join() मेथड के माध्यम से है।

बिल्ट-इन join() मेथड का उपयोग कॉमन सेपरेटर का उपयोग करके स्ट्रिंग्स के ऐरे को जोड़ने के लिए किया जाता है।

arr = [str1, str2]
concat_str = (' ').join(arr)  # 'Hello World'
concat_str = (',').join(arr)  # 'Hello,World'

उपरोक्त कोड में, पहला join() मेथड ऐरे में प्रत्येक शब्द के बीच व्हाइट स्पेस जोड़ता है।

दूसरा join() मेथड ऐरे में प्रत्येक शब्द के बीच कॉमा डालता है।

स्ट्रिंग और इंट कॉनकैटनेशन

Python में, हम स्ट्रिंग को इंटीजर से भी जोड़ सकते हैं लेकिन + ऑपरेटर के साथ नहीं। यदि हम निम्न कोड का प्रयास करते हैं:

name = "John"
age = 35
print(a + b)

हमें मिलेगा:

Traceback (most recent call last):
  File "concat.py", line 5, in 
    print(a + b)
TypeError: can only concatenate str (not "int") to str

नोट: आप + ऑपरेटर का उपयोग करके स्ट्रिंग और इंटीजर को जोड़ नहीं सकते।

इस त्रुटि से बचने के लिए, हम इंटीजर को स्ट्रिंग में बदलने के लिए str() मेथड का उपयोग कर सकते हैं, उदाहरण के लिए:

name = "John "
age = 35
print(name + str(age))  # John 35

स्ट्रिंग को कैसे विभाजित करें

बिल्ट-इन split() मेथड का उपयोग सिंगल स्ट्रिंग को स्ट्रिंग्स के ऐरे में विभाजित करने के लिए किया जाता है।

string = "My name is John"
split_arr = string.split(' ')  # ['My', 'name', 'is', 'John']

# हम सेपरेटर का उपयोग करके भी स्ट्रिंग विभाजित कर सकते हैं:
string = "John, Rose, Jack, Mary"
split_arr = string.split(', ')  # ['John', 'Rose', 'Jack', 'Mary']

Strip - व्हाइट स्पेस हटाएं

strip(), बिल्ट-इन स्ट्रिंग मेथड का उपयोग स्ट्रिंग के शुरुआत और अंत से व्हाइट स्पेस हटाने के लिए किया जाता है।

string = " Hello, World "
stripper_str = string.strip()  # 'Hello, World'

जैसा कि आप देख सकते हैं, strip() अन्य वर्णों के बीच के व्हाइट स्पेस को नहीं हटाता बल्कि केवल दोनों छोरों पर।

strip() मेथड के दो वेरिएंट हैं, लेफ्ट स्ट्रिप और राइट स्ट्रिप:

  • lstrip()
  • rstrip()

ये मेथड्स क्रमशः स्ट्रिंग के बाएं और दाएं तरफ के व्हाइट स्पेस को हटाते हैं।

उदाहरण:

lsplit_str = string.lstrip()  # 'Hello, World '
rsplit_str = string.rstrip()  # ' Hello, World'

Strip मेथड्स विशेष रूप से उपयोगकर्ता इनपुट पढ़ते समय उपयोगी होते हैं, जहां उपयोगकर्ताओं द्वारा अतिरिक्त व्हाइट स्पेस पास किए जा सकते हैं।

स्ट्रिंग फॉर्मेट करना

Python का format() मेथड स्ट्रिंग को फॉर्मेट करने के लिए उपयोग किया जाता है। कर्ली ब्रेसेस {} का उपयोग उस स्ट्रिंग के अंदर किया जाता है जिसे फॉर्मेट करने की आवश्यकता होती है, उस भाग के लिए प्लेसहोल्डर के रूप में जिसे format() मेथड को प्रदान किए गए तर्कों द्वारा प्रतिस्थापित किया जाना है।

उदाहरण:

"Hello, {}".format('John')  # 'Hello, John'

उपरोक्त उदाहरण में {} को फॉर्मेट की गई स्ट्रिंग में 'John' द्वारा प्रतिस्थापित किया जाता है।

आप स्ट्रिंग के अंदर एक से अधिक कर्ली ब्रेसेस का उपयोग कर सकते हैं। उन्हें format() मेथड को प्रदान किए गए तर्कों द्वारा या तो प्रदान किए गए क्रम में (यदि कर्ली ब्रेसेस के अंदर कोई पोजिशनल इंडेक्स नहीं बताया गया है) या पोजिशनल क्रम में प्रतिस्थापित किया जाता है।

उदाहरण:

"I have a {}, {}, and a {}".format('dog', 'cat', 'rabbit')
# 'I have a dog, cat, and a rabbit'
"I have a {1}, {0}, and a {2}".format('dog', 'cat', 'rabbit')
# 'I have a cat, dog, and a rabbit'

इंडेक्स के बजाय, आप format() मेथड को कीवर्ड तर्क प्रदान कर सकते हैं ताकि उन कीवर्ड्स का उपयोग कर्ली ब्रेसेस के अंदर किया जा सके।

उदाहरण:

print("{friend} is my friend and {enemy} is my enemy".format(friend="John", enemy="Jack"))
# 'John is my friend and Jack is my enemy'

format() मेथड काफी बहुमुखी है क्योंकि इसका उपयोग कई उपयोग मामलों के लिए किया जा सकता है।

format() मेथड के कुछ अन्य अनुप्रयोग यहां दिए गए हैं:

arr = [3, 5]
'I have {0[0]} dogs and {0[1]} cats'.format(arr)
# 'I have 3 dogs and 5 cats'

# संख्याओं को विभिन्न आधारों में बदलें
"int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(42)
# 'int: 42; hex: 2a; oct: 52; bin: 101010'

स्ट्रिंग को लोअरकेस में बदलें

Python के lower() मेथड का उपयोग करके, आप स्ट्रिंग को लोअरकेस में बदल सकते हैं।

उदाहरण:

string = "Hello, World!"
string.lower()  # 'hello, world!'

स्ट्रिंग को अपरकेस में बदलें

इसी तरह, Python के upper() मेथड का उपयोग करके, आप स्ट्रिंग को अपरकेस में बदल सकते हैं।

उदाहरण:

string = "Hello, World!"
string.upper()  # 'HELLO, WORLD!'

निष्कर्ष

मुझे आशा है कि इस ट्यूटोरियल की मदद से, अब आप Python स्ट्रिंग्स और स्ट्रिंग ऑपरेशन्स के लिए विभिन्न मेथड्स का उपयोग करने से परिचित हैं।

संदर्भ: Python का स्ट्रिंग डॉक्यूमेंटेशन

  1. - पायथन में जांचें कि स्ट्रिंग दोहराव वाली स्ट्रिंग है या नहीं

    मान लीजिए हमारे पास एक स्ट्रिंग है, हमें जांचना है कि क्या यह एक दोहराव वाली स्ट्रिंग है या नहीं। उदाहरण के लिए, यदि इनपुट string = helloworldhelloworld है, तो आउटपुट True होगा। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: n := len(s)। findFactors(n) फ़ंक्शन परिभाषित करें जो n के सभी गुणनखंड

  1. - Python String की Max Length क्या है?

    Python String की Maximum Length 64-bit Python Installation और 64 GB Memory के साथ, लगभग 63 GB की Python 2 String काफी Feasible होनी चाहिए। यदि आप अपनी Memory को इससे कहीं अधिक Upgrade कर सकते हैं, तो आपकी Maximum Feasible Strings आनुपातिक रूप से Longer होनी चाहिए। लेकिन यह Runtimes पर Hit के साथ आ

  1. - Python में सबसे Efficient String Concatenation Method कौन सा है?

    String Concatenation के Efficient Methods String Variable में String Append करने का Best तरीका + या += का उपयोग करना है। ऐसा इसलिए क्योंकि यह Readable और Fast है। वे उतने ही Fast हैं। इसके अलावा, यदि आप 2 Strings के साथ काम कर रहे हैं, तो append() का भी उपयोग किया जा सकता है। यदि आप Strings की Li