Python मधील सूचीमध्ये स्वल्पविरामाने विभक्त स्ट्रिंग विभाजित करताना, त्यामध्ये जागा नसल्यास, फक्त split() कार्य करेल. जर तेथे मोकळी जागा असेल तर, अतिरिक्त जागा काढून टाकण्यासाठी ते strip() सह एकत्र करणे उपयुक्त आहे. याव्यतिरिक्त, सूची आकलन संकेतन वापरणे हा लिहिण्याचा एक स्मार्ट मार्ग आहे.
या विभागात, आम्ही प्रथम खालील स्पष्ट करतो.
- निर्दिष्ट सीमांकासह स्ट्रिंग विभाजित करा आणि सूची म्हणून परत करा
split()
- स्ट्रिंगच्या सुरुवातीपासून आणि शेवटी अतिरिक्त वर्ण काढा.
strip()
- घटकांची यादी करण्यासाठी फंक्शन्स आणि पद्धती लागू करण्यासाठी सूची आकलन नोटेशन.
खाली दाखवल्याप्रमाणे, स्पेसेस काढून स्पेसेस आणि स्वल्पविरामाने विभक्त केलेल्या स्ट्रिंगची सूची कशी बनवायची ते देखील ते दाखवते.one, two, three'
याव्यतिरिक्त, आम्ही पुढील चर्चा करू
- संख्यांची यादी म्हणून ते कसे मिळवायचे
- सूचीमध्ये सामील होण्यासाठी join() कसे वापरावे आणि त्यास पुन्हा स्ट्रिंग बनवावे
split():निर्दिष्ट सीमांकासह स्ट्रिंग विभाजित करा आणि सूची म्हणून परत करा
स्ट्रिंग्ससाठी स्प्लिट() पद्धत वापरून, तुम्ही स्ट्रिंगला निर्दिष्ट डिलिमिटरसह विभाजित करू शकता आणि सूची (अॅरे) म्हणून मिळवू शकता. निर्दिष्ट परिसीमक खालील युक्तिवादाद्वारे निर्दिष्ट केले जाऊ शकते.sep
जर आर्ग्युमेंट sep वगळला असेल आणि कोणतेही डिलिमिटर निर्दिष्ट केले नसेल, तर ते स्ट्रिंगला स्पेसद्वारे विभाजित करते आणि सूची मिळवते. सलग स्पेस आणि टॅब देखील सूची विभाजित करतील, म्हणून जर तुम्हाला टॅब-डिलिमिटेड स्ट्रिंगची सूची बनवायची असेल, तर तुम्ही युक्तिवाद न करता split() वापरू शकता.
s = 'one two three' l = s.split() print(l) # ['one', 'two', 'three'] s = 'one two three' l = s.split() print(l) # ['one', 'two', 'three'] s = 'one\ttwo\tthree' l = s.split() print(l) # ['one', 'two', 'three']
sep वितर्क मध्ये परिसीमक निर्दिष्ट केले असल्यास, ते सूचीला त्या स्ट्रिंगद्वारे विभाजित करते आणि सूची मिळवते.
s = 'one::two::three' l = s.split('::') print(l) # ['one', 'two', 'three']
स्वल्पविरामाने विभक्त केलेल्या स्ट्रिंगच्या बाबतीत, कोणतीही अतिरिक्त पांढरी जागा नसल्यास, कोणतीही अडचण नाही, परंतु जर तुम्ही स्वल्पविरामाने विभाजित() स्वल्पविरामाने विभक्त केलेल्या स्ट्रिंगसाठी परिसीमक म्हणून स्वल्पविराम + पांढर्या जागेने विभक्त केले तर तुमचा शेवट होईल. सुरवातीला पांढर्या जागेसह तारांच्या सूचीसह वर.
s = 'one,two,three' l = s.split(',') print(l) # ['one', 'two', 'three'] s = 'one, two, three' l = s.split(',') print(l) # ['one', ' two', ' three']
तुम्ही खालीलप्रमाणे परिसीमक म्हणून स्वल्पविराम + स्पेस वापरू शकता, परंतु मूळ स्ट्रिंगमधील स्पेसची संख्या भिन्न असल्यास ते कार्य करणार नाही., '
s = 'one, two, three' l = s.split(', ') print(l) # ['one', 'two', 'three'] s = 'one, two, three' l = s.split(', ') print(l) # ['one', 'two', ' three']
स्ट्रिंग मेथड स्ट्रिप(), जे पुढे स्पष्ट केले जाईल, दोन स्पेस हाताळण्यासाठी वापरले जाऊ शकते.
strip():स्ट्रिंगच्या सुरुवातीपासून आणि शेवटी अतिरिक्त वर्ण काढा.
स्ट्रिप () ही स्ट्रिंगच्या सुरुवातीपासून आणि शेवटपासून अतिरिक्त वर्ण काढून टाकण्याची पद्धत आहे.
वितर्क वगळल्यास, व्हाइटस्पेस वर्ण काढून नवीन स्ट्रिंग दिली जाते. मूळ स्ट्रिंग स्वतः बदललेली नाही.
s = ' one ' print(s.strip()) # one print(s) # one
स्ट्रिंग वितर्क म्हणून निर्दिष्ट केल्यास, स्ट्रिंगमधील वर्ण काढून टाकले जातील.
s = '-+-one-+-' print(s.strip('-+')) # one
या प्रकरणात, रिक्त जागा काढल्या जात नाहीत. म्हणून, जर तुम्हाला व्हाईटस्पेस देखील काढून टाकायची असेल, तर खाली दर्शविल्याप्रमाणे, स्पेसेससह स्ट्रिंग पास करा.-+ '
s = '-+- one -+-' print(s.strip('-+')) # one s = '-+- one -+-' print(s.strip('-+ ')) # one
strip() दोन्ही टोकांना हाताळते, परंतु खालील फंक्शन्स देखील उपलब्ध आहेत.
lstrip()
:प्रक्रिया फक्त सुरुवातrstrip()
:फक्त ओळीच्या शेवटी प्रक्रिया करा.
सूची आकलन नोटेशन: घटकांची यादी करण्यासाठी कार्ये आणि पद्धती लागू करा
जर तुम्हाला सूचीतील घटकांवर फंक्शन किंवा पद्धत लागू करायची असेल, तर तुम्हाला सूची शेवटी मिळवायची असेल तर फॉर लूपऐवजी सूची आकलन संकेतन वापरणे चांगले आहे.
- संबंधित लेख:पायथन सूची आकलन संकेतन वापरणे
येथे, आम्ही स्प्लिट() सह स्ट्रिंग विभाजित करून मिळवलेल्या सूचीवर स्ट्रिप() लागू करतो. व्हाइटस्पेस असलेल्या स्वल्पविरामाने विभक्त केलेल्या स्ट्रिंगमधील अतिरिक्त व्हाइटस्पेस सूची बनवण्यासाठी काढली जाऊ शकते.
s = 'one, two, three' l = [x.strip() for x in s.split(',')] print(l) # ['one', 'two', 'three']
जेव्हा हे रिकाम्या स्ट्रिंगवर लागू केले जाते, तेव्हा घटक म्हणून एकल रिकाम्या स्ट्रिंगसह सूची मिळवता येते.
s = '' l = [x.strip() for x in s.split(',')] print(l) print(len(l)) # [''] # 1
जर तुम्हाला रिकाम्या स्ट्रिंगसाठी रिकामी यादी मिळवायची असेल, तर तुम्ही सूची आकलन नोटेशनमध्ये सशर्त शाखा सेट करू शकता.
s = '' l = [x.strip() for x in s.split(',') if not s == ''] print(l) print(len(l)) # [] # 0
one, , three'
तसेच, वर वर्णन केल्याप्रमाणे स्वल्पविरामाने विभक्त केलेला घटक गहाळ असल्यास, पहिली पद्धत त्यास रिक्त स्ट्रिंग घटक म्हणून सूचीबद्ध करेल.
s = 'one, , three' l = [x.strip() for x in s.split(',')] print(l) print(len(l)) # ['one', '', 'three'] # 3
आपण गहाळ भाग दुर्लक्ष करू इच्छित असल्यास, आपण सूची आकलन नोटेशन मध्ये एक सशर्त शाखा सेट करू शकता.
s = 'one, ,three' l = [x.strip() for x in s.split(',') if not x.strip() == ''] print(l) print(len(l)) # ['one', 'three'] # 2
संख्यांची यादी म्हणून मिळवा
जर तुम्हाला स्ट्रिंगऐवजी संख्यांची सूची म्हणून स्वल्पविरामाने विभक्त केलेली स्ट्रिंग मिळवायची असेल, तर सूची आकलन नोटेशनमधील स्ट्रिंगला नंबरमध्ये रूपांतरित करण्यासाठी int() किंवा float() लागू करा.
s = '1, 2, 3, 4' l = [x.strip() for x in s.split(',')] print(l) print(type(l[0])) # ['1', '2', '3', '4'] # <class 'str'> s = '1, 2, 3, 4' l = [int(x.strip()) for x in s.split(',')] print(l) print(type(l[0])) # [1, 2, 3, 4] # <class 'int'>
join():सूची विलीन करा आणि स्ट्रिंग म्हणून मिळवा
विरुद्ध पॅटर्नमध्ये, जर तुम्हाला सूचीमध्ये सामील व्हायचे असेल आणि विशिष्ट परिसीमकाने विभक्त स्ट्रिंग मिळवायचे असतील, तर join() पद्धत वापरा.
चूक करणे सोपे आहे, परंतु लक्षात घ्या की join() ही स्ट्रिंग पद्धत आहे, सूची पद्धत नाही. सूची एक युक्तिवाद म्हणून निर्दिष्ट केली आहे.
s = 'one, two, three' l = [x.strip() for x in s.split(',')] print(l) # ['one', 'two', 'three'] print(','.join(l)) # one,two,three print('::'.join(l)) # one::two::three
तुम्ही ते एका ओळीत खालीलप्रमाणे लिहू शकता.
s = 'one, two, three' s_new = '-'.join([x.strip() for x in s.split(',')]) print(s_new) # one-two-three
जर तुम्हाला फिक्स्ड डिलिमिटर बदलायचे असेल, तर ते रिप्लेस() पद्धतीने बदलणे सोपे आहे.
s = 'one,two,three' s_new = s.replace(',', '+') print(s_new) # one+two+three