পাইথনে স্ট্রিং স্ট্রিংকে কীভাবে সংযুক্ত করা যায় এবং যোগদান করা যায় তার একটি বর্ণনা নিচে দেওয়া হল।
- একাধিক স্ট্রিং একত্রিত করা এবং একত্রিত করা:
+
,+=
অপারেটর - সংখ্যা এবং স্ট্রিং সংযুক্ত করুন এবং একত্রিত করুন:
+
,+=
অপারেটর,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-স্ট্রিং
একটি ভিন্ন ধরনের অপারেশনের ফলে একটি ত্রুটি দেখা দেয়।
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
বিন্যাস কিভাবে নির্দিষ্ট করতে হবে তার বিশদ বিবরণের জন্য নিম্নলিখিত নিবন্ধটি দেখুন।
- সম্পরকিত প্রবন্ধ:পাইথনে ফরম্যাট কনভার্সন, ফরম্যাট (0-ফিলিং, এক্সপোনেনশিয়াল নোটেশন, হেক্সাডেসিমেল, ইত্যাদি)
পাইথন 3.6 থেকে, f-স্ট্রিং (f-স্ট্রিং) নামে একটি প্রক্রিয়াও চালু করা হয়েছে, যা ফরম্যাট() থেকে লেখার জন্য আরও সহজ।
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
যদিও এখানে শুধুমাত্র একটি তালিকার একটি উদাহরণ দেওয়া হয়েছে, অন্যান্য পুনরাবৃত্তিযোগ্য অবজেক্ট যেমন tuples যোগ করার জন্য আর্গুমেন্ট হিসেবেও নির্দিষ্ট করা যেতে পারে।
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() জেনারেটরকে তার অভ্যন্তরীণ প্রক্রিয়াকরণে তালিকায় রূপান্তর করে। আসলে, প্রথম থেকে তালিকা বোঝার ব্যবহার করা কিছুটা দ্রুত।
তালিকা বোধগম্যতা এবং জেনারেটর অভিব্যক্তি সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিত নিবন্ধটি দেখুন।
- সম্পরকিত প্রবন্ধ:কিভাবে পাইথন তালিকা বোধগম্যতা ব্যবহার করবেন