কম্পিউটার টিউটোরিয়াল

পাইথনে দুটি স্ট্রিং ইন্টারসেক্ট করা


সমস্যা বিবরণ

দুটি স্ট্রিংয়ের কমন ক্যারেক্টার গুলো বের করে একটি নতুন স্ট্রিং বানাতে হবে।

উদাহরণ

string_1 = 'tutorialspoint'
string_2 = 'tut'
Output: 'tu' (অথবা 'ut' - অর্ডার গ্যারান্টি নেই)

পদ্ধতি ১: লুপ ব্যবহার করে (অর্ডার প্রিজার্ভ করে)

প্রথম স্ট্রিং ইটারেট করে ক্যারেক্টার দ্বিতীয় স্ট্রিংএ আছে কিনা চেক করুন। ডুপ্লিকেট এড়াতে রেজাল্ট স্ট্রিংও চেক করুন।

string_1 = 'tutorialspoint'
string_2 = 'tut'
result = ''

for char in string_1:
    if char in string_2 and char not in result:
        result += char

print(result)  # 'tu' (string_1 এর অর্ডার অনুযায়ী)

পদ্ধতি ২: সেট ব্যবহার করে (দ্রুত, অর্ডার নেই)

দুই স্ট্রিংকে সেটে কনভার্ট করে ইন্টারসেকশন নিন।

string_1 = 'tutorialspoint'
string_2 = 'tut'

result = set(string_1).intersection(string_2)
result_str = ''.join(result)
print(result_str)  # 'ut' (অর্ডার অনিশ্চিত)

তুলনা

পদ্ধতিঅর্ডারসময় জটিলতাডুপ্লিকেট হ্যান্ডলিং
Loop + String Checkপ্রথম স্ট্রিংয়ের অর্ডারO(n × m)ম্যানুয়াল
Set Intersectionগ্যারান্টি নেইO(n + m)সেট আটোমেটিক

উপসংহার

  • অর্ডার জরুরি হলে লুপ পদ্ধতি ব্যবহার করুন
  • পারফরম্যান্স ও সহজতার জন্য সেট পদ্ধতি ভালো
  • সেট পদ্ধতিতে ''.join(sorted(result)) দিয়ে সর্টেড আউটপুট পাওয়া যায়
  1. পাইথনে দুটি লিংকড লিস্টের ইন্টারসেকশন

  2. পাইথনে স্ট্রিং রিভার্স (ইন-প্লেস)

  3. পাইথনে casefold() স্ট্রিং মেথড

  4. পাইথনে intersection() ফাংশন