Python میں تاروں کو جوڑنا اور جوائن کرنا: + آپریٹرز، جوائن فنکشنز وغیرہ۔

کاروبار

ذیل میں اس کی تفصیل ہے کہ Python میں string str کو کیسے جوڑنا اور جوائن کرنا ہے۔

  • متعدد تاروں کو جوڑنا اور ضم کرنا:+,+=آپریٹر
  • نمبروں اور تاروں کو جوڑیں اور جوڑیں۔:+,+=آپریٹر,str(),format(),f-string
  • سٹرنگز کی فہرستوں (اریز) کو ایک ہی سٹرنگ میں جوڑیں اور جوڑیں۔: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-string

مختلف قسم کے 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

اگر آپ کسی نمبر کے فارمیٹ کو تبدیل کرنا چاہتے ہیں، جیسے کہ صفر بھرنے یا اعشاریہ کی جگہیں، تو فارمیٹ() فنکشن یا سٹرنگ میتھڈ فارمیٹ() استعمال کریں۔

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

جوائن () طریقہ کو ‘اسٹرنگ ٹو انسرٹ بیچ’ کے ساتھ کال کریں اور دلیل کے طور پر [لسٹ آف سٹرنگز ٹو کنکینٹیٹ] کو پاس کریں۔

اگر ایک خالی سٹرنگ استعمال کی جاتی ہے تو، [جوڑنے کے لیے تاروں کی فہرست] کو آسانی سے جوڑ دیا جائے گا، اگر کوما استعمال کیا جاتا ہے، تو اسٹرنگ کوما سے الگ کیا جائے گا، اور اگر ایک نئی لائن کیریکٹر استعمال کیا جاتا ہے، تو ہر اسٹرنگ عنصر کو نئی لائن کیا جائے گا۔

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