पायथन में स्ट्रिंग्स को जोड़ना और जोड़ना: + ऑपरेटर्स, फंक्शन्स में शामिल होना, आदि।

व्यापार

पायथन में स्ट्रिंग स्ट्र को कैसे जोड़ा जाए और कैसे जोड़ा जाए, इसका विवरण निम्नलिखित है।

  • एकाधिक स्ट्रिंग्स को जोड़ना और विलय करना:+,+=ऑपरेटर
  • संख्याओं और तारों को जोड़ना और संयोजित करना:+,+=ऑपरेटर,str(),format(),एफ-स्ट्रिंग
  • एक स्ट्रिंग में स्ट्रिंग्स की सूचियों (सरणी) को जोड़ना और संयोजित करना:join()
  • एक स्ट्रिंग में संख्याओं की सूचियों (सरणी) को जोड़ना और संयोजित करना:join(),str()

एकाधिक स्ट्रिंग्स को जोड़ना और विलय करना:+,+=ऑपरेटर

संबंध:+ऑपरेटर

++ ऑपरेटर का उपयोग निम्नलिखित स्ट्रिंग अक्षर और स्ट्रिंग चर को संयोजित करने के लिए किया जा सकता है

  • …’
  • “…”
s = 'aaa' + 'bbb' + 'ccc'
print(s)
# aaabbbccc

s1 = 'aaa'
s2 = 'bbb'
s3 = 'ccc'

s = s1 + s2 + s3
print(s)
# aaabbbccc

s = s1 + s2 + s3 + 'ddd'
print(s)
# aaabbbcccddd

संबंध:+=ऑपरेटर

+= ऑपरेटर, एक संचयी असाइनमेंट ऑपरेटर, का भी उपयोग किया जा सकता है। बाईं ओर के स्ट्रिंग वेरिएबल को दाईं ओर की स्ट्रिंग के साथ जोड़ा जाता है, और असाइन किया जाता है और अपडेट किया जाता है।

s1 += s2
print(s1)
# aaabbb

यदि आप एक स्ट्रिंग चर के अंत में एक स्ट्रिंग जोड़ना चाहते हैं, तो बस स्ट्रिंग चर और किसी भी स्ट्रिंग अक्षर (या अन्य स्ट्रिंग चर) को += ऑपरेटर के साथ संसाधित करें।

s = 'aaa'

s += 'xxx'
print(s)
# aaaxxx

स्ट्रिंग अक्षर का लगातार संयोजन

यदि आप केवल स्ट्रिंग लिटरल्स को साथ-साथ लिखते हैं, तो स्ट्रिंग लिटरल्स को जोड़ दिया जाएगा।

s = 'aaa''bbb''ccc'
print(s)
# aaabbbccc

दो लाइनों या बैकस्लैश लाइन ब्रेक (एक निरंतरता माना जाता है) के बीच एक स्थान होना स्वीकार्य है।

s = 'aaa'  'bbb'    'ccc'
print(s)
# aaabbbccc

s = 'aaa'\
    'bbb'\
    'ccc'
print(s)
# aaabbbccc

कोड में कई पंक्तियों पर लंबी स्ट्रिंग लिखने के लिए इसका उपयोग करने की एक तकनीक है।

स्ट्रिंग चर के लिए यह लेखन विधि संभव नहीं है।

# s = s1 s2 s3
# SyntaxError: invalid syntax

न्यूमेरिक और स्ट्रिंग कॉन्सटेनेशन / कॉन्सटेनेशन:+,+=ऑपरेटर,str(),format(),एफ-स्ट्रिंग

एक अलग प्रकार के ए + ऑपरेशन के परिणामस्वरूप त्रुटि होती है।

s1 = 'aaa'
s2 = 'bbb'

i = 100
f = 0.25

# s = s1 + i
# TypeError: must be str, not int

यदि आप एक स्ट्रिंग के साथ एक संख्यात्मक मान (उदाहरण के लिए, पूर्णांक प्रकार int या फ़्लोटिंग-पॉइंट प्रकार फ्लोट) को जोड़ना चाहते हैं, तो संख्यात्मक मान को स्ट्रिंग प्रकार में str() के साथ कनवर्ट करें और फिर उन्हें + ऑपरेटर (या + = ऑपरेटर के साथ संयोजित करें) )

s = s1 + '_' + str(i) + '_' + s2 + '_' + str(f)
print(s)
# aaa_100_bbb_0.25

यदि आप किसी संख्या के प्रारूप को परिवर्तित करना चाहते हैं, जैसे कि शून्य-भरना या दशमलव स्थान, तो प्रारूप () फ़ंक्शन या स्ट्रिंग विधि प्रारूप () का उपयोग करें।

s = s1 + '_' + format(i, '05') + '_' + s2 + '_' + format(f, '.5f')
print(s)
# aaa_00100_bbb_0.25000

s = '{}_{:05}_{}_{:.5f}'.format(s1, i, s2, f)
print(s)
# aaa_00100_bbb_0.25000

बेशक, बिना स्वरूपण के एक चर के मान को सीधे एक स्ट्रिंग में एम्बेड करना भी संभव है। + ऑपरेटर का उपयोग करने की तुलना में लिखना आसान है।

s = '{}_{}_{}_{}'.format(s1, i, s2, f)
print(s)
# aaa_100_bbb_0.25

प्रारूप निर्दिष्ट करने के तरीके के विवरण के लिए निम्न आलेख देखें।

पायथन 3.6 के बाद से, एफ-स्ट्रिंग्स (एफ-स्ट्रिंग) नामक एक तंत्र भी पेश किया गया है, जो प्रारूप () की तुलना में लिखना और भी आसान है।

s = f'{s1}_{i:05}_{s2}_{f:.5f}'
print(s)
# aaa_00100_bbb_0.25000

s = f'{s1}_{i}_{s2}_{f}'
print(s)
# aaa_100_bbb_0.25

तारों की सूचियों (सरणी) को जोड़ना और जोड़ना:join()

स्ट्रिंग मेथड जॉइन () का उपयोग स्ट्रिंग्स की सूची को सिंगल स्ट्रिंग में समेटने के लिए किया जा सकता है।

इसे लिखने का तरीका निम्नलिखित है।

'String to be inserted between'.join([List of strings to be concatenated])

कॉल जॉइन () विधि के साथ ‘स्ट्रिंग टू इन्सर्ट’ और पास [स्ट्रिंग्स की सूची को एक तर्क के रूप में] पास करें।

यदि एक खाली स्ट्रिंग का उपयोग किया जाता है, तो [स्ट्रिंग्स की सूची को संयोजित करने के लिए] केवल संक्षिप्त किया जाएगा, यदि अल्पविराम का उपयोग किया जाता है, तो स्ट्रिंग्स को अल्पविराम से अलग किया जाएगा, और यदि एक न्यूलाइन कैरेक्टर का उपयोग किया जाता है, तो प्रत्येक स्ट्रिंग तत्व को न्यूलाइन किया जाएगा।

l = ['aaa', 'bbb', 'ccc']

s = ''.join(l)
print(s)
# aaabbbccc

s = ','.join(l)
print(s)
# aaa,bbb,ccc

s = '-'.join(l)
print(s)
# aaa-bbb-ccc

s = '\n'.join(l)
print(s)
# aaa
# bbb
# ccc

यद्यपि यहां केवल एक सूची का एक उदाहरण दिया गया है, अन्य चलने योग्य वस्तुओं जैसे टुपल्स को भी शामिल होने के तर्क के रूप में निर्दिष्ट किया जा सकता है ()।

ज्वाइन () के विपरीत, स्प्लिट () का उपयोग एक विशिष्ट सीमांकक द्वारा सीमांकित स्ट्रिंग को विभाजित करने और इसे एक सूची के रूप में प्राप्त करने के लिए किया जाता है।

स्ट्रिंग्स के रूप में संख्याओं की सूचियों (सरणी) को जोड़ना और संयोजित करना:join(),str()

एक त्रुटि तब होती है जब शामिल होने का तर्क () एक सूची है जिसके तत्व तार नहीं हैं।

l = [0, 1, 2]

# s = '-'.join(l)
# TypeError: sequence item 0: expected str instance, int found

संख्याओं की सूची को एक स्ट्रिंग में संयोजित करने के लिए, संख्याओं को एक स्ट्रिंग में बदलने के लिए सूची बोध संकेतन में प्रत्येक तत्व के लिए str() फ़ंक्शन लागू करें, और फिर उन्हें join() के साथ जोड़ें।

s = '-'.join([str(n) for n in l])
print(s)
# 0-1-2

इसे जनरेटर अभिव्यक्ति के रूप में भी लिखा जा सकता है, जो सूची समझ का एक जनरेटर संस्करण है। जेनरेटर एक्सप्रेशन कोष्ठक में संलग्न हैं, लेकिन अगर जेनरेटर एक्सप्रेशन किसी फ़ंक्शन या विधि के लिए एकमात्र तर्क है तो कोष्ठक छोड़ा जा सकता है।

s = '-'.join((str(n) for n in l))
print(s)
# 0-1-2

s = '-'.join(str(n) for n in l)
print(s)
# 0-1-2

जेनरेटर अभिव्यक्तियों में आम तौर पर सूची समझ की तुलना में कम स्मृति का उपयोग करने का लाभ होता है, लेकिन जेनरेटर अभिव्यक्तियों का उपयोग करने के लिए कोई विशेष लाभ नहीं होता है क्योंकि शामिल() जेनरेटर को इसकी आंतरिक प्रसंस्करण में सूचियों में परिवर्तित करता है। वास्तव में, शुरुआत से ही सूची समझ का उपयोग करना थोड़ा तेज है।

सूची बोध और जनक व्यंजकों के बारे में अधिक जानकारी के लिए, निम्न आलेख देखें।

Copied title and URL