Skill

অ্যারে এবং স্ট্রিং

কম্পিউটার প্রোগ্রামিং (Computer Programming) - Computer Science

425

অ্যারে (Array) এবং স্ট্রিং (String) প্রোগ্রামিংয়ে ডেটা সংরক্ষণের দুটি মৌলিক ডেটা স্ট্রাকচার, যা ডেটা ম্যানেজমেন্ট এবং প্রক্রিয়াকরণে গুরুত্বপূর্ণ ভূমিকা পালন করে।


অ্যারে (Array)

অ্যারে হলো একই ধরনের একাধিক মান সংরক্ষণের জন্য ব্যবহৃত একটি ডেটা স্ট্রাকচার। এতে বিভিন্ন উপাদান একটি নির্দিষ্ট ক্রমে সংরক্ষিত থাকে এবং প্রতিটি উপাদানের জন্য একটি নির্দিষ্ট ইনডেক্স থাকে, যার সাহায্যে সেই উপাদান অ্যাক্সেস করা যায়। সাধারণত অ্যারেতে প্রথম উপাদানের ইনডেক্স 0 হয়।

অ্যারের বৈশিষ্ট্য:

  1. একই ডেটা টাইপ: অ্যারের প্রতিটি উপাদান একই ধরনের হতে হয় (যেমন সবগুলো int, বা সবগুলো float ইত্যাদি)।
  2. স্থির আকার: অ্যারের আকার স্থির থাকে, অর্থাৎ ডিক্লারেশনের সময় অ্যারের দৈর্ঘ্য নির্ধারণ করতে হয়।
  3. ইনডেক্স ব্যবহার করে অ্যাক্সেস: প্রতিটি উপাদান ইনডেক্সের মাধ্যমে অ্যাক্সেস করা যায়।

উদাহরণ (Python):

# অ্যারে ডিক্লারেশন এবং ইনিশিয়ালাইজেশন
numbers = [10, 20, 30, 40, 50]

# অ্যারের উপাদান অ্যাক্সেস করা
print(numbers[0])  # আউটপুট: 10
print(numbers[2])  # আউটপুট: 30

অ্যারের ব্যবহার:

  • ডেটার তালিকা সংরক্ষণে: যেমন, ছাত্রদের নম্বরের তালিকা, পণ্যগুলোর দাম ইত্যাদি।
  • আলগোরিদম প্রয়োগে: যেমন, বিভিন্ন সাজানো অ্যালগোরিদম (বাবল, সিলেকশন)।
  • ডেটা প্রসেসিং: বড় ডেটাসেটের বিভিন্ন উপাদান দ্রুত অ্যাক্সেস এবং প্রসেসিংয়ের জন্য।

স্ট্রিং (String)

স্ট্রিং হলো একাধিক ক্যারেক্টারের ক্রম বা সিকোয়েন্স, যা সাধারণত টেক্সট ডেটা সংরক্ষণে ব্যবহৃত হয়। স্ট্রিংকে একটি ক্যারেক্টার অ্যারের মতোও ধরা যায়, যেখানে প্রতিটি ক্যারেক্টার ইনডেক্সের মাধ্যমে অ্যাক্সেস করা যায়। স্ট্রিং ইম্যুটেবল অর্থাৎ, একবার তৈরি হওয়ার পর এর মান পরিবর্তন করা যায় না।

স্ট্রিং-এর বৈশিষ্ট্য:

  1. ক্যারেক্টারের সিকোয়েন্স: এটি একাধিক ক্যারেক্টারের ক্রম যা একত্রে একটি ডেটা হিসেবে ব্যবহৃত হয়।
  2. ইম্যুটেবল: স্ট্রিং একবার তৈরি হওয়ার পর পরিবর্তন করা যায় না (Python এর মতো কিছু ভাষায়)।
  3. বিল্ট-ইন মেথডস: স্ট্রিং নিয়ে কাজ করার জন্য বিভিন্ন বিল্ট-ইন ফাংশন বা মেথড থাকে (যেমন upper(), lower(), replace() ইত্যাদি)।

উদাহরণ (Python):

# স্ট্রিং ডিক্লারেশন এবং ইনিশিয়ালাইজেশন
text = "Hello, World!"

# স্ট্রিং-এর ক্যারেক্টার অ্যাক্সেস করা
print(text[0])  # আউটপুট: H
print(text[7])  # আউটপুট: W

স্ট্রিং এর কিছু সাধারণ মেথড:

print(text.lower())       # আউটপুট: hello, world!
print(text.upper())       # আউটপুট: HELLO, WORLD!
print(text.replace("World", "Python"))  # আউটপুট: Hello, Python!

স্ট্রিং এর ব্যবহার:

  • টেক্সট ডেটা সংরক্ষণে: যেমন, ব্যবহারকারীর নাম, ঠিকানা, মেসেজ ইত্যাদি।
  • প্যাটার্ন ম্যাচিং এবং টেক্সট প্রসেসিং: যেমন, কোন শব্দ খুঁজে বের করা, টেক্সটের বিশেষ অংশ পরিবর্তন করা ইত্যাদি।

অ্যারে এবং স্ট্রিং-এর মধ্যে পার্থক্য

বৈশিষ্ট্যঅ্যারে (Array)স্ট্রিং (String)
ডেটা টাইপএক ধরনের ডেটা সংরক্ষণ করে (যেমন সবগুলো int)ক্যারেক্টারের সিকোয়েন্স, যা টেক্সট ডেটা সংরক্ষণ করে
পরিবর্তনশীলতা (Mutability)পরিবর্তনশীল (Mutable) হতে পারেইম্যুটেবল (Immutable) (Python এ)
ব্যবহারগাণিতিক বা সংখ্যাসংক্রান্ত ডেটা প্রসেসিংটেক্সট ডেটা সংরক্ষণ ও প্রক্রিয়াকরণ
ইনডেক্স ব্যবহারইনডেক্সের মাধ্যমে উপাদান অ্যাক্সেস করা যায়ইনডেক্সের মাধ্যমে ক্যারেক্টার অ্যাক্সেস করা যায়

Python এ অ্যারে এবং স্ট্রিং-এর কিছু ব্যবহারিক উদাহরণ

উদাহরণ ১: অ্যারের উপাদানের গড় নির্ণয়

numbers = [10, 20, 30, 40, 50]
average = sum(numbers) / len(numbers)
print("Average:", average)  # আউটপুট: Average: 30.0

উদাহরণ ২: স্ট্রিং-এর শব্দ গননা

text = "Hello World! Welcome to Python programming."
words = text.split()    # স্ট্রিংকে শব্দে বিভক্ত করা
print("Word count:", len(words))  # আউটপুট: Word count: 6

উপসংহার

অ্যারে একই ধরনের একাধিক মান সংরক্ষণে ব্যবহৃত হয় এবং ইনডেক্সের মাধ্যমে প্রতিটি উপাদান অ্যাক্সেস করা যায়। অন্যদিকে, স্ট্রিং হলো একাধিক ক্যারেক্টারের সিকোয়েন্স যা টেক্সট ডেটা সংরক্ষণে ব্যবহৃত হয়। অ্যারে সাধারণত সংখ্যা বা এক ধরনের ডেটার তালিকা সংরক্ষণে উপযোগী, আর স্ট্রিং টেক্সট বা ক্যারেক্টারের ক্রম সংরক্ষণে ব্যবহৃত হয়।

Content added By

অ্যারে হলো প্রোগ্রামিংয়ের একটি ডেটা স্ট্রাকচার, যা এক ধরনের একাধিক মান একটি নির্দিষ্ট ক্রমে সংরক্ষণ করতে ব্যবহৃত হয়। প্রতিটি উপাদান একটি নির্দিষ্ট ইনডেক্সের মাধ্যমে অ্যাক্সেস করা যায়। অ্যারে সাধারণত একাধিক মানের তালিকা বা সিকোয়েন্স তৈরি করতে ব্যবহৃত হয়, যা প্রোগ্রামে ডেটা ম্যানেজমেন্ট সহজ করে তোলে।

অ্যারের বৈশিষ্ট্য

  1. একই ধরনের ডেটা সংরক্ষণ: অ্যারের প্রতিটি উপাদান একই ধরনের হতে হয়, যেমন সবগুলো int, float, বা string
  2. স্থির আকার: অ্যারের আকার স্থির থাকে; একবার অ্যারে তৈরি করলে এর আকার পরিবর্তন করা যায় না (যেমন, Java ও C এর মতো ভাষায়)।
  3. ইনডেক্সের মাধ্যমে অ্যাক্সেস: প্রতিটি উপাদান ইনডেক্সের মাধ্যমে অ্যাক্সেস করা যায়। অ্যারের ইনডেক্স সাধারণত ০ থেকে শুরু হয়।

Python এ অ্যারে তৈরি এবং ব্যবহার

Python-এ অ্যারে ব্যবহারের জন্য array লাইব্রেরি ব্যবহৃত হয়, কিন্তু সাধারণত Python এ লিস্ট (List) অ্যারের বিকল্প হিসেবে ব্যবহৃত হয়, কারণ এটি আরও বহুমুখী।

from array import array

# একটি পূর্ণসংখ্যার অ্যারে তৈরি
numbers = array('i', [10, 20, 30, 40, 50])

# অ্যারের উপাদানগুলো প্রিন্ট করা
for number in numbers:
    print(number)

এখানে array('i', [...]) দিয়ে i টাইপের একটি পূর্ণসংখ্যার অ্যারে তৈরি করা হয়েছে। Python এ array মডিউল ব্যবহৃত হলে এটি অ্যারের একক ডেটাটাইপ নিশ্চিত করে।


অ্যারের ব্যবহার

অ্যারে বিভিন্ন কাজে ব্যবহৃত হয়, যেমন ডেটার তালিকা সংরক্ষণ, গাণিতিক হিসাব, ডেটা প্রক্রিয়াকরণ এবং বিভিন্ন অ্যালগরিদমে দ্রুত এক্সেসের জন্য। নিচে কিছু সাধারণ ব্যবহার দেখানো হলো।

১. গাণিতিক হিসাব:

অ্যারে ব্যবহার করে একাধিক মানের গাণিতিক হিসাব সহজে করা যায়। উদাহরণস্বরূপ, সংখ্যাগুলোর গড় নির্ণয়:

from array import array

numbers = array('i', [10, 20, 30, 40, 50])
average = sum(numbers) / len(numbers)
print("Average:", average)  # আউটপুট: Average: 30.0

২. মাল্টিপল ডেটা সংরক্ষণ এবং অ্যাক্সেস:

একাধিক ডেটা সংরক্ষণ এবং অ্যাক্সেসের জন্য অ্যারে ব্যবহার করা হয়। উদাহরণস্বরূপ, ছাত্রদের নম্বরের তালিকা:

grades = [85, 90, 78, 88, 92]

print("First student's grade:", grades[0])  # আউটপুট: 85
print("Last student's grade:", grades[-1])  # আউটপুট: 92

৩. সাজানো (Sorting):

অ্যারের উপাদানগুলো সাজানোর জন্য বিভিন্ন অ্যালগোরিদম (যেমন: বাবল সোর্ট, সিলেকশন সোর্ট) ব্যবহৃত হয়। Python-এ sort() ফাংশনের সাহায্যে সহজে অ্যারের উপাদানগুলো সাজানো যায়।

numbers = [5, 2, 9, 1, 5, 6]
numbers.sort()
print("Sorted Array:", numbers)  # আউটপুট: [1, 2, 5, 5, 6, 9]

৪. অনুসন্ধান (Searching):

অ্যারে থেকে নির্দিষ্ট উপাদান খুঁজে বের করার জন্য লিনিয়ার সার্চ, বাইনারি সার্চ ইত্যাদি অ্যালগোরিদম ব্যবহৃত হয়। Python-এ in অপারেটর ব্যবহার করে সহজে অনুসন্ধান করা যায়।

numbers = [10, 20, 30, 40, 50]

if 30 in numbers:
    print("30 is in the array")
else:
    print("30 is not in the array")

৫. মাল্টি-ডাইমেনশনাল অ্যারে:

দুই বা ততোধিক ডাইমেনশন নিয়ে মাল্টি-ডাইমেনশনাল অ্যারে তৈরি করা হয়, যেমন 2D অ্যারে (ম্যাট্রিক্স)। এটি সাধারণত তালিকার তালিকা বা অ্যারের অ্যারে হিসেবে তৈরি করা হয়।

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

print(matrix[1][2])  # আউটপুট: 6 (ম্যাট্রিক্সের ২য় সারি, ৩য় কলাম)

অ্যারের সুবিধা

  1. দ্রুত ডেটা অ্যাক্সেস: ইনডেক্স ব্যবহার করে নির্দিষ্ট উপাদানে দ্রুত অ্যাক্সেস করা যায়।
  2. একই ডেটা টাইপের তালিকা সংরক্ষণে কার্যকরী: এক ধরনের ডেটা সংরক্ষণের জন্য আদর্শ।
  3. মেমোরি সাশ্রয়ী: অ্যারে মেমোরি বরাদ্দ করে এবং একই ধরনের একাধিক ডেটা সংরক্ষণে উপযোগী।

অ্যারের সীমাবদ্ধতা

  1. স্থির আকার: অ্যারের আকার স্থির থাকে, একবার তৈরি হলে এর আকার পরিবর্তন করা যায় না।
  2. একই ধরনের ডেটা সংরক্ষণ: অ্যারে শুধু এক ধরনের ডেটা সংরক্ষণ করতে পারে।
  3. মধ্যবর্তী এলিমেন্টের ইনসার্ট বা ডিলিট অসুবিধাজনক: অ্যারেতে মাঝখানে এলিমেন্ট ইনসার্ট বা ডিলিট করা সময়সাপেক্ষ।

উপসংহার

অ্যারে হলো একই ধরনের একাধিক ডেটা সংরক্ষণের জন্য ব্যবহৃত একটি কার্যকর ডেটা স্ট্রাকচার। এটি ডেটা ম্যানেজমেন্টে সহায়ক এবং বড় ডেটাসেট প্রসেসিংয়ে প্রোগ্রামিংয়ে সহজ করে তোলে। যদিও এর কিছু সীমাবদ্ধতা আছে, তবে সহজ এবং কার্যকর ডেটা সংরক্ষণ ও অ্যাক্সেসের জন্য অ্যারে গুরুত্বপূর্ণ ভূমিকা পালন করে।

Content added By

অ্যারে প্রোগ্রামিংয়ে ডেটা সংরক্ষণের একটি মৌলিক ধারণা। অ্যারে সাধারণত এক বা একাধিক মাত্রায় তৈরি করা যায়। একমাত্রিক (One-Dimensional) অ্যারে হলো একটি সরল তালিকা বা লাইন, যেখানে ডেটা ধারাবাহিকভাবে ইনডেক্সের মাধ্যমে সাজানো থাকে। বহু-মাত্রিক (Multi-Dimensional) অ্যারে হলো একাধিক সারি এবং কলামের সমন্বয়ে তৈরি ম্যাট্রিক্স বা টেবিল আকারের অ্যারে, যা সাধারণত 2D, 3D ইত্যাদি আকারে হতে পারে।


একমাত্রিক অ্যারে (One-Dimensional Array)

একমাত্রিক অ্যারে হলো একটি সরল ধারাবাহিক ডেটার তালিকা, যা শুধুমাত্র একটি মাত্রায় অবস্থিত। এটি ইনডেক্সের মাধ্যমে সরাসরি অ্যাক্সেস করা যায় এবং সাধারণত একই ধরনের ডেটা সংরক্ষণে ব্যবহৃত হয়।

উদাহরণ (Python):

python

Copy code

# একমাত্রিক অ্যারে ডিক্লারেশন numbers = [10, 20, 30, 40, 50] # অ্যারের প্রথম উপাদান অ্যাক্সেস print(numbers[0])  # আউটপুট: 10 # অ্যারের সমস্ত উপাদান প্রিন্ট করা for number in numbers:    print(number)

এখানে numbers হলো একটি একমাত্রিক অ্যারে, যেখানে একাধিক সংখ্যা ইনডেক্স 0 থেকে 4 পর্যন্ত সাজানো হয়েছে।

ব্যবহার:

  • তালিকা সংরক্ষণ: যেমন, শিক্ষার্থীদের নম্বরের তালিকা।
  • সিম্পল ডেটা প্রক্রিয়াকরণ: সহজ সংখ্যাসূচক কাজ বা অ্যালগোরিদমে।

বহু-মাত্রিক অ্যারে (Multi-Dimensional Array)

বহু-মাত্রিক অ্যারে হলো একাধিক মাত্রায় ডেটা সংরক্ষণ করার পদ্ধতি। এটি সাধারণত টেবিল বা ম্যাট্রিক্স আকারে থাকে, যেখানে প্রতিটি সারি এবং কলাম আলাদাভাবে ইনডেক্স দিয়ে অ্যাক্সেস করা যায়। ২ মাত্রার অ্যারেকে দ্বিমাত্রিক (2D Array) এবং তিনটি মাত্রার অ্যারেকে ত্রিমাত্রিক (3D Array) বলা হয়।

দ্বিমাত্রিক অ্যারের উদাহরণ (2D Array in Python):

# 2D অ্যারে বা ম্যাট্রিক্স
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

# ম্যাট্রিক্সের একটি নির্দিষ্ট উপাদান অ্যাক্সেস করা
print(matrix[1][2])  # আউটপুট: 6 (২য় সারি, ৩য় কলাম)

# সমস্ত উপাদান প্রিন্ট করা
for row in matrix:
    for item in row:
        print(item, end=" ")
    print()

এখানে, matrix হলো একটি ২-মাত্রিক অ্যারে বা ম্যাট্রিক্স যেখানে ৩টি সারি ও ৩টি কলাম রয়েছে।

ব্যবহার:

  • ম্যাট্রিক্স বা টেবিল ডেটা সংরক্ষণে: যেমন, স্প্রেডশিট ডেটা, গেম বোর্ড।
  • ইমেজ প্রসেসিং: পিক্সেলের মান বা রঙ সংরক্ষণে।
  • বিজ্ঞান ও গণিতের ডেটা প্রসেসিং: যেমন, ম্যাট্রিক্স অ্যালজেব্রা।

ত্রিমাত্রিক অ্যারের উদাহরণ (3D Array)

ত্রিমাত্রিক অ্যারে হলো এমন একটি অ্যারে, যেখানে ডেটা তিনটি মাত্রায় সংরক্ষণ করা হয়। এটি সাধারণত কিউবের মতো গঠন তৈরি করে, এবং প্রতিটি উপাদান তিনটি ইনডেক্সের মাধ্যমে অ্যাক্সেস করা হয়।

# 3D অ্যারে
tensor = [
    [
        [1, 2], [3, 4]
    ],
    [
        [5, 6], [7, 8]
    ]
]

# 3D অ্যারের একটি নির্দিষ্ট উপাদান অ্যাক্সেস
print(tensor[1][0][1])  # আউটপুট: 6 (২য় লেয়ার, ১ম সারি, ২য় কলাম)

এখানে, tensor হলো একটি ত্রিমাত্রিক অ্যারে, যেখানে ২টি লেয়ার রয়েছে এবং প্রতিটি লেয়ারের মধ্যে ২টি সারি এবং প্রতিটি সারিতে ২টি উপাদান রয়েছে।

ব্যবহার:

  • তিন মাত্রায় ডেটা সংরক্ষণ: যেমন, ভিডিও ডেটা (প্রতিটি ফ্রেমকে ২D অ্যারে হিসেবে ধরা হয়)।
  • বিজ্ঞান ও প্রকৌশলের গণনা: যেমন, তিন মাত্রার স্থানিক উপাত্ত।

একমাত্রিক ও বহু-মাত্রিক অ্যারের মধ্যে পার্থক্য

বৈশিষ্ট্যএকমাত্রিক অ্যারেবহু-মাত্রিক অ্যারে
সংজ্ঞাএকটি মাত্রায় ডেটা সংরক্ষণএকাধিক মাত্রায় ডেটা সংরক্ষণ
ডেটা অ্যাক্সেসএকক ইনডেক্স দিয়ে অ্যাক্সেস করা যায়একাধিক ইনডেক্স দিয়ে অ্যাক্সেস করা হয়
ব্যবহারসাধারণ তালিকা বা লিস্টেটেবিল, ম্যাট্রিক্স, কিউব ইত্যাদিতে
উদাহরণ[10, 20, 30][[1, 2], [3, 4]]

উপসংহার

একমাত্রিক অ্যারে একমাত্র ডাইমেনশনে ডেটা সংরক্ষণে উপযুক্ত, যেখানে তালিকা আকারের ডেটা থাকে। অন্যদিকে, বহু-মাত্রিক অ্যারে একাধিক মাত্রায় ডেটা সংরক্ষণে উপযুক্ত, যা টেবিল, ম্যাট্রিক্স বা কিউব আকারে ডেটা সংরক্ষণের প্রয়োজন হয়। বহু-মাত্রিক অ্যারের মাধ্যমে ডেটা সংগঠিতভাবে এবং উচ্চ মাত্রায় প্রসেস করা যায়।

Content added By

স্ট্রিং (String) প্রোগ্রামিংয়ে অক্ষর বা ক্যারেক্টারের একটি ধারাবাহিক ক্রম বা সিকোয়েন্স, যা টেক্সট ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। স্ট্রিংকে সাধারণত কোডে ডাবল বা সিঙ্গেল কোটেশন দিয়ে নির্দেশ করা হয়, যেমন "Hello" বা 'Python'। স্ট্রিং প্রায়ই ইম্যুটেবল, অর্থাৎ একবার তৈরি হলে তা পরিবর্তন করা যায় না। স্ট্রিং প্রসেসিং সহজ করতে বিভিন্ন প্রোগ্রামিং ভাষায় স্ট্রিং ম্যানিপুলেশনের জন্য বেশ কিছু ফাংশন বা মেথড রয়েছে।


Python এ স্ট্রিং এবং স্ট্রিং ফাংশনসমূহ

Python-এ স্ট্রিং নিয়ে কাজ করার জন্য অনেক বিল্ট-ইন মেথড বা ফাংশন আছে, যা স্ট্রিং ম্যানিপুলেশনে সহায়ক। নিচে কিছু গুরুত্বপূর্ণ স্ট্রিং ফাংশন আলোচনা করা হলো:


১. len()

len() ফাংশন স্ট্রিং বা লিস্টের দৈর্ঘ্য বা ক্যারেক্টারের সংখ্যা রিটার্ন করে।

text = "Hello, World!"
print(len(text))  # আউটপুট: 13

২. lower() এবং upper()

lower() ফাংশন স্ট্রিংয়ের সমস্ত অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করে, এবং upper() ফাংশন স্ট্রিংয়ের সমস্ত অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করে।

text = "Hello, World!"
print(text.lower())  # আউটপুট: hello, world!
print(text.upper())  # আউটপুট: HELLO, WORLD!

৩. strip()

strip() ফাংশন স্ট্রিংয়ের শুরু এবং শেষের ফাঁকা স্থান বা হোয়াইটস্পেস (যদি থাকে) সরিয়ে দেয়।

text = "   Hello, World!   "
print(text.strip())  # আউটপুট: Hello, World!

৪. replace()

replace() ফাংশন একটি স্ট্রিংয়ের নির্দিষ্ট অংশকে নতুন অংশ দিয়ে প্রতিস্থাপন করে।

text = "Hello, World!"
print(text.replace("World", "Python"))  # আউটপুট: Hello, Python!

৫. split()

split() ফাংশন স্ট্রিংয়ের অংশগুলোকে একটি নির্দিষ্ট বিভাজক দিয়ে ভাগ করে এবং একটি তালিকা বা লিস্ট রিটার্ন করে। যদি কোনো বিভাজক নির্দিষ্ট না করা হয়, তাহলে এটি ফাঁকা স্থান বা স্পেসকে ধরে ভাগ করে।

text = "Hello World Welcome"
print(text.split())  # আউটপুট: ['Hello', 'World', 'Welcome']

৬. join()

join() ফাংশন একটি নির্দিষ্ট বিভাজক দিয়ে তালিকার সবগুলো স্ট্রিংকে একত্রিত করে একটি স্ট্রিং বানায়।

words = ["Hello", "World", "Welcome"]
print(" ".join(words))  # আউটপুট: Hello World Welcome

৭. find() এবং index()

find() ফাংশন স্ট্রিংয়ের নির্দিষ্ট অংশের প্রথম ইনডেক্স প্রদান করে। যদি অংশটি না পাওয়া যায়, তাহলে এটি -1 রিটার্ন করে। index() ফাংশনও একই কাজ করে, তবে অংশটি না থাকলে এটি ValueError প্রদান করে।

text = "Hello, World!"
print(text.find("World"))  # আউটপুট: 7
print(text.index("World"))  # আউটপুট: 7

৮. startswith() এবং endswith()

startswith() ফাংশন চেক করে স্ট্রিংটি নির্দিষ্ট অংশ দিয়ে শুরু হয়েছে কিনা। endswith() ফাংশন চেক করে স্ট্রিংটি নির্দিষ্ট অংশ দিয়ে শেষ হয়েছে কিনা।

text = "Hello, World!"
print(text.startswith("Hello"))  # আউটপুট: True
print(text.endswith("World!"))   # আউটপুট: True

৯. count()

count() ফাংশন নির্দিষ্ট অংশটি স্ট্রিংয়ে কতবার রয়েছে তা গণনা করে।

text = "Hello, Hello, World!"
print(text.count("Hello"))  # আউটপুট: 2

১০. isalpha(), isdigit(), isalnum()

  • isalpha() চেক করে স্ট্রিংয়ে সব ক্যারেক্টার অক্ষর কিনা।
  • isdigit() চেক করে স্ট্রিংয়ে সব ক্যারেক্টার সংখ্যা কিনা।
  • isalnum() চেক করে স্ট্রিংয়ে সব ক্যারেক্টার সংখ্যা বা অক্ষর (আলফানিউমেরিক) কিনা।
text = "Hello123"
print(text.isalpha())  # আউটপুট: False
print(text.isdigit())  # আউটপুট: False
print(text.isalnum())  # আউটপুট: True

Python এ স্ট্রিং ফাংশনের সংক্ষিপ্ত তালিকা

ফাংশনকাজ
len()স্ট্রিংয়ের দৈর্ঘ্য প্রদান
lower()ছোট হাতের অক্ষরে রূপান্তর
upper()বড় হাতের অক্ষরে রূপান্তর
strip()শুরু ও শেষের ফাঁকা স্থান সরানো
replace()স্ট্রিংয়ের নির্দিষ্ট অংশ প্রতিস্থাপন
split()স্ট্রিং ভাগ করে একটি তালিকা প্রদান
join()তালিকার অংশগুলোকে একত্রিত করে স্ট্রিং বানানো
find()নির্দিষ্ট অংশের প্রথম ইনডেক্স প্রদান
count()নির্দিষ্ট অংশটি কতবার আছে তা গণনা
startswith()স্ট্রিংটি নির্দিষ্ট অংশ দিয়ে শুরু হয়েছে কিনা চেক
endswith()স্ট্রিংটি নির্দিষ্ট অংশ দিয়ে শেষ হয়েছে কিনা চেক
isalpha()স্ট্রিংয়ে সব ক্যারেক্টার অক্ষর কিনা চেক
isdigit()স্ট্রিংয়ে সব ক্যারেক্টার সংখ্যা কিনা চেক
isalnum()স্ট্রিংয়ে সব ক্যারেক্টার সংখ্যা বা অক্ষর কিনা চেক

উপসংহার

স্ট্রিং হলো প্রোগ্রামিংয়ে অক্ষর বা টেক্সট ডেটা সংরক্ষণের একটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার। স্ট্রিং নিয়ে কাজ করার জন্য বিভিন্ন প্রোগ্রামিং ভাষায় অনেক বিল্ট-ইন ফাংশন রয়েছে, যা টেক্সট প্রসেসিং ও ম্যানিপুলেশন সহজ করে।

Content added By

স্ট্রিং ম্যানিপুলেশন এবং কনক্যাটেনেশন হলো প্রোগ্রামিংয়ে স্ট্রিং নিয়ে কাজ করার গুরুত্বপূর্ণ পদ্ধতি। স্ট্রিং ম্যানিপুলেশনের মাধ্যমে স্ট্রিং-এর বিভিন্ন অংশ পরিবর্তন, মুছা, বা পুনর্বিন্যাস করা সম্ভব, এবং কনক্যাটেনেশন ব্যবহার করে একাধিক স্ট্রিং একত্রিত করা যায়।


স্ট্রিং ম্যানিপুলেশন (String Manipulation)

স্ট্রিং ম্যানিপুলেশন বলতে বোঝায় স্ট্রিং-এর বিভিন্ন অংশের উপর কাজ করে প্রয়োজনীয় পরিবর্তন বা মডিফিকেশন করা। স্ট্রিং ম্যানিপুলেশন বিভিন্ন ধরনের ফাংশন বা মেথড ব্যবহার করে সম্পন্ন করা যায়, যেমন টেক্সট ফরম্যাটিং, সাবস্ট্রিং তৈরি, অক্ষর পরিবর্তন, ইত্যাদি।

স্ট্রিং ম্যানিপুলেশনের সাধারণ উদাহরণ:

text = "Hello, World!"

ক্যারেক্টার পরিবর্তন (upper(), lower()):

print(text.upper())  # আউটপুট: HELLO, WORLD!
print(text.lower())  # আউটপুট: hello, world!

স্ট্রিং থেকে অংশ মুছা বা পরিবর্তন (replace()):

new_text = text.replace("World", "Python")
print(new_text)  # আউটপুট: Hello, Python!

ফাঁকা স্থান মুছা (strip()):

text_with_space = "   Hello, World!   "
print(text_with_space.strip())  # আউটপুট: Hello, World!

স্ট্রিং বিভক্ত (split()):

words = text.split(", ")
print(words)  # আউটপুট: ['Hello', 'World!']

স্ট্রিং পুনঃসংযোজন (join()):

new_sentence = "-".join(words)
print(new_sentence)  # আউটপুট: Hello-World!

স্ট্রিং কনক্যাটেনেশন (String Concatenation)

স্ট্রিং কনক্যাটেনেশন হলো একাধিক স্ট্রিং একত্রিত করে একটি নতুন স্ট্রিং তৈরি করার প্রক্রিয়া। স্ট্রিং কনক্যাটেনেশনে সাধারণত + অপারেটর অথবা join() ফাংশন ব্যবহার করা হয়।

উদাহরণ:

+ অপারেটরের মাধ্যমে কনক্যাটেনেশন:

first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name)  # আউটপুট: John Doe

join() মেথড ব্যবহার করে কনক্যাটেনেশন:

words = ["Python", "is", "awesome"]
sentence = " ".join(words)
print(sentence)  # আউটপুট: Python is awesome

f-strings (Python 3.6+):

Python এ f-strings ব্যবহার করে স্ট্রিং কনক্যাটেনেশন এবং ম্যানিপুলেশন আরও সহজে করা যায়।

age = 25
name = "Alice"
intro = f"My name is {name} and I am {age} years old."
print(intro)  # আউটপুট: My name is Alice and I am 25 years old.

স্ট্রিং ম্যানিপুলেশন এবং কনক্যাটেনেশন ফাংশনগুলোর তালিকা

মেথডকাজউদাহরণ
upper()সমস্ত অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করে"hello".upper() -> HELLO
lower()সমস্ত অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করে"HELLO".lower() -> hello
replace()নির্দিষ্ট অংশকে নতুন অংশ দিয়ে প্রতিস্থাপন করে"Hello".replace("H", "J") -> Jello
split()স্ট্রিংকে বিভক্ত করে একটি তালিকা রিটার্ন করে"Hello World".split() -> ['Hello', 'World']
join()তালিকার অংশগুলোকে স্ট্রিংয়ে পরিণত করে"-".join(['a', 'b', 'c']) -> a-b-c
+স্ট্রিং একত্রিত করতে ব্যবহৃত হয়"Hello " + "World" -> Hello World
f-stringস্ট্রিং ফরম্যাটিং করে স্ট্রিং তৈরি করেf"My name is {name}"

স্ট্রিং ম্যানিপুলেশন এবং কনক্যাটেনেশন এর ব্যবহারিক উদাহরণ

উদাহরণ ১: স্ট্রিং থেকে স্পেস সরিয়ে একত্রিত করা

text = "Python is an amazing programming language"
words = text.split()
result = "-".join(words)
print(result)  # আউটপুট: Python-is-an-amazing-programming-language

উদাহরণ ২: ব্যবহারকারীর ইনপুট নিয়ে ফরম্যাটেড স্ট্রিং তৈরি করা

name = input("Enter your name: ")
age = int(input("Enter your age: "))

# স্ট্রিং কনক্যাটেনেশন ব্যবহার করে
print("Name: " + name + ", Age: " + str(age))

# f-string ব্যবহার করে
print(f"Name: {name}, Age: {age}")

উপসংহার

স্ট্রিং ম্যানিপুলেশন এবং কনক্যাটেনেশন স্ট্রিং নিয়ে কাজ করার ক্ষেত্রে অত্যন্ত গুরুত্বপূর্ণ। স্ট্রিং ম্যানিপুলেশনের মাধ্যমে স্ট্রিংয়ের বিভিন্ন অংশ পরিবর্তন করা যায় এবং কনক্যাটেনেশনের মাধ্যমে একাধিক স্ট্রিংকে একত্রিত করা যায়। বিভিন্ন ফাংশন ও মেথডের সাহায্যে প্রোগ্রামিংয়ে স্ট্রিং নিয়ে সহজেই কাজ করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...