Python मध्ये स्ट्रिंग्स जोडणे आणि जोडणे: + ऑपरेटर, जॉईन फंक्शन्स इ.

व्यवसाय

पायथनमध्ये स्ट्रिंग स्ट्रिंग कसे जोडायचे आणि कसे जोडायचे याचे वर्णन खाली दिले आहे.

  • एकाधिक स्ट्रिंग एकत्र करणे आणि विलीन करणे:+,+=ऑपरेटर
  • संख्या आणि तार एकत्र करा आणि एकत्र करा:+,+=ऑपरेटर,str(),format(),f-स्ट्रिंग
  • एका स्ट्रिंगमध्ये स्ट्रिंगच्या सूची (अॅरे) एकत्र करा आणि एकत्र करा: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(),f-स्ट्रिंग

वेगळ्या प्रकारच्या A + ऑपरेशनमुळे त्रुटी येते.

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

जर तुम्हाला शून्य-भरणे किंवा दशांश स्थाने यासारख्या संख्येचे स्वरूप रूपांतरित करायचे असल्यास, format() फंक्शन किंवा स्ट्रिंग पद्धत फॉरमॅट() वापरा.

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

स्वरूप कसे निर्दिष्ट करावे यावरील तपशीलांसाठी पुढील लेख पहा.

Python 3.6 पासून, f-strings (f-string) नावाची यंत्रणा देखील सादर केली गेली आहे, जी format() पेक्षा लिहिण्यास सोपी आहे.

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()

स्ट्रिंग मेथड join() स्ट्रिंगची सूची एका स्ट्रिंगमध्ये जोडण्यासाठी वापरली जाऊ शकते.

ते कसे लिहायचे ते खाली दिले आहे.

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

स्ट्रिंग टू इन्सर्ट बिच’ सह join() मेथडला कॉल करा आणि वितर्क म्हणून [स्ट्रिंग्स टू स्ट्रिंग्स टू इन्सर्ट] पास करा.

जर रिकामी स्ट्रिंग वापरली असेल तर, [एकत्रित करायच्या स्ट्रिंगची यादी] फक्त जोडली जाईल, जर स्वल्पविराम वापरला असेल, तर स्ट्रिंग स्वल्पविरामाने विभक्त केल्या जातील, आणि जर नवीन वर्ण वापरला असेल, तर प्रत्येक स्ट्रिंग घटक नव्याने जोडला जाईल.

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() च्या उलट, split() चा वापर विशिष्ट परिसीमाकाने विभक्त केलेल्या स्ट्रिंगला विभाजित करण्यासाठी आणि सूची म्हणून प्राप्त करण्यासाठी केला जातो.

संख्यांच्या याद्या (अॅरे) स्ट्रिंग म्हणून एकत्र करा आणि एकत्र करा: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

जनरेटर एक्स्प्रेशन्समध्ये साधारणपणे सूची आकलनापेक्षा कमी मेमरी वापरण्याचा फायदा असतो, परंतु जनरेटर एक्स्प्रेशन्स वापरण्याचा कोणताही विशेष फायदा नाही कारण join() जनरेटरला त्याच्या अंतर्गत प्रक्रियेत सूचीमध्ये रूपांतरित करते. खरं तर, सुरुवातीपासून सूची आकलन वापरणे थोडे वेगवान आहे.

सूची आकलन आणि जनरेटर अभिव्यक्तीबद्दल अधिक माहितीसाठी, खालील लेख पहा.

Copied title and URL