Python میں کوما سے الگ کردہ سٹرنگ کو ایک فہرست میں تقسیم کرتے وقت، اگر درمیان میں کوئی خالی جگہ نہیں ہے، تو صرف split() کام کرے گا۔ اگر خالی جگہیں ہیں تو، اضافی خالی جگہوں کو ہٹانے کے لیے اسے strip() کے ساتھ جوڑنا مفید ہے۔ اس کے علاوہ، فہرست فہمی اشارے کا استعمال لکھنے کا ایک زبردست طریقہ ہے۔
اس سیکشن میں، ہم پہلے درج ذیل کی وضاحت کرتے ہیں۔
- ایک سٹرنگ کو ایک مخصوص ڈیلیمیٹر کے ساتھ تقسیم کریں اور اسے فہرست کے طور پر واپس کریں۔
split() - سٹرنگ کے شروع اور آخر سے اضافی حروف کو ہٹا دیں۔
strip() - عناصر کی فہرست میں افعال اور طریقوں کو لاگو کرنے کے لیے فہمی اشارے کی فہرست بنائیں۔
یہ یہ بھی دکھاتا ہے کہ خالی جگہوں کو ہٹا کر اسپیس اور کوما سے الگ کیے گئے تاروں کی فہرست کیسے بنائی جائے، جیسا کہ ذیل میں دکھایا گیا ہے۔one, two, three'
اس کے علاوہ، ہم مندرجہ ذیل بات چیت کریں گے
- اسے نمبروں کی فہرست کے طور پر کیسے حاصل کریں۔
- کسی فہرست میں شامل ہونے اور اسے دوبارہ سٹرنگ بنانے کے لیے join() کا استعمال کیسے کریں۔
- split():ایک سٹرنگ کو ایک مخصوص ڈیلیمیٹر کے ساتھ تقسیم کریں اور اسے فہرست کے طور پر واپس کریں۔
- strip():سٹرنگ کے شروع اور آخر سے اضافی حروف کو ہٹا دیں۔
- فہرست فہمی اشارے: فہرست عناصر کے لیے افعال اور طریقوں کا اطلاق کریں۔
- نمبروں کی فہرست کے طور پر حاصل کریں۔
- join():ایک فہرست کو ضم کریں اور اسے سٹرنگ کے طور پر حاصل کریں۔
split():ایک سٹرنگ کو ایک مخصوص ڈیلیمیٹر کے ساتھ تقسیم کریں اور اسے فہرست کے طور پر واپس کریں۔
سٹرنگز کے لیے طریقہ 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']
اگر سیپ آرگومینٹ میں ڈیلیمیٹر کی وضاحت کی گئی ہے، تو یہ فہرست کو اس سٹرنگ سے تقسیم کرتا ہے اور ایک فہرست لوٹاتا ہے۔
s = 'one::two::three' l = s.split('::') print(l) # ['one', 'two', 'three']
کوما سے الگ کردہ سٹرنگ کی صورت میں، اگر کوئی اضافی سفید جگہ نہیں ہے، تو کوئی حرج نہیں ہے، لیکن اگر آپ 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, two, three' l = s.split(', ') print(l) # ['one', 'two', 'three'] s = 'one, two, three' l = s.split(', ') print(l) # ['one', 'two', ' three']
سٹرنگ میتھڈ strip()، جس کی اگلی وضاحت کی جائے گی، دو جگہوں سے نمٹنے کے لیے استعمال کی جا سکتی ہے۔
strip():سٹرنگ کے شروع اور آخر سے اضافی حروف کو ہٹا دیں۔
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():صرف لائن کے اختتام پر عمل کریں۔
فہرست فہمی اشارے: فہرست عناصر کے لیے افعال اور طریقوں کا اطلاق کریں۔
اگر آپ کسی فہرست کے عناصر پر کسی فنکشن یا طریقہ کو لاگو کرنا چاہتے ہیں تو، اگر آپ فہرست کو آخر میں حاصل کرنا چاہتے ہیں تو لوپ کے بجائے فہرست کی تفہیم کے اشارے کو استعمال کرنا ہوشیار ہے۔
- متعلقہ مضامین:ازگر کی فہرست کو سمجھنے کے اشارے کا استعمال کرنا
یہاں، ہم strip() کو سٹرنگ کو split() کے ساتھ تقسیم کرکے حاصل کردہ فہرست میں لاگو کرتے ہیں۔ کوما سے الگ کردہ سٹرنگ میں موجود اضافی خالی جگہ کو فہرست بنانے کے لیے ہٹایا جا سکتا ہے۔
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
اگر آپ صرف ایک مقررہ حد بندی کو تبدیل کرنا چاہتے ہیں، تو اسے replace() طریقہ سے تبدیل کرنا آسان ہے۔
s = 'one,two,three' s_new = s.replace(',', '+') print(s_new) # one+two+three


