পাইথন প্রোগ্রামিং ভাষায় লিস্ট ডাটাটাইপ কি?

পাইথন প্রোগ্রামিং ভাষায় লিস্ট ডাটাটাইপ হল গ্রুপের ইলিমেন্ট। এই পাইথন প্রোগ্রামিং ভাষায় লিস্ট ও অ্যারের মধ্যে অনেক মিল খুঁজে পাওয়া য়ায় এবং তার মধ্যেও লিস্ট ও অ্যারের মধ্যে কিছু তফাৎ আমরা দেখতে পাই তার জন্য লিস্ট ও অ্যারেকে আমরা আলাদা আলাদা ডাটাটাইপ বলতে পারি।

{tocify} $title={Table of Contents}

লিস্ট ডাটাটাইপ ও অ্যারের মধ্যে মেন পার্থক্য হল লিস্ট ডেটার মধ্যে সব টাইপের ডেটা যুক্ত করতে পারি যেমন ইন্টিজার, ফ্লোট, স্ট্রিং, কমপ্লেক্স ইত্যাদি কিন্তু অ্যারের মধ্যে আমরা যে কোন এক টাইপের ডাটা যুক্ত করতে পারি যেমন ইন্টিজার নাম্বার হলে শুধু ইন্টিজার যুক্ত করতে পারি অন্য কোন টাইপের ডাটা য়ুক্ত করতে পারবো না। লিস্ট ডাটাটাইপ হল পরিবর্তনযোগ্য এবং মোডিফাই ডাটাটাইপ এর মানে লিস্ট ডাটা টাইপকে আমরা যে কোন সময়ে এলিমেন্টস গুলোকে পাল্টাটে পারি বা ডাটাকে পরিবর্তন করতে পারি। লিস্ট ডাটাটাইপ সাধারণত ডাইনামিক হয়ে থাকে এর মানে লিস্ট ডাটাটাইপের কোন ফিক্সড সাইজ নেই এই লিস্ট ডটাটাইপ যত খুশি বড়ো বা মেমরি স্টোর করতে পারে। আমরা লিস্ট ডাটাটাইপ ব্যাবহার করার জন্য স্কয়ার ব্রাকেট [] ব্যবহার করে থাকি যেমন 

a=[10,20,-50,21.3,'DebrajCode']{codeBox}

লিস্ট তৈরি 

list_name=[Element1, Element2.........]{codeBox}

প্রথমে আমদের একটি লিস্টের নাম তৈরি করতে হবে জাকে আমরা ভেরিয়েবল বলে চিনে থাকি তার পরে আমাদের স্কয়ার ব্রাকেট [] ব্যাবহার করে এই স্কয়ার ব্রাকেটে এলিমেন্টস বা ডাটা যুক্ত করতে হবে। লিস্ট ডাটা টাইপিতে আমরা চাইলে যে কোন এক ধরনের ডাটা যুক্ত করতে পারি আবার আলাদা আলাদা ডেটা বা এলিমেন্টস যুক্ত করতে পারি এবং একটি এলিমেন্টস যুক্ত করার পর কমা , ব্যাবহার করে আমরা দ্বিতীয় এলিমেন্টস যুক্ত করতে পারি যেমন 

a=[10,20,-50,21.3,'DebrajCode']{codeBox}

আমাদের আবার মাঝে মাঝে Empty বা খালি লিস্ট তৈরি করতে হতে পারে ইউজারের কাছে থেকে ডেটা ইনপুট নেওয়ার জন্য। Empty লিস্ট তৈরি করতে নিচের কোডটি দেখ 

a=[]{codeBox}

প্রথমে আমাদের একটি লিস্টের নাম তৈরি করতে হবে তারপর স্কয়ার ব্রাকেট [] ব্যাবহার করে স্কয়ার ব্রাকেটের মধ্যে ফাকা রাখতে হবে তাহলে আমদের একটি Empty লিস্ট তৈরি হয়ে যাবে। 

লিস্ট ডাটা ইনডেক্স মেথড

ইনডেক্স হল লিস্ট ডাটাটাইপের এলিমেন্টস বা ডাটা পজিশনের নাম্বার। এই ডাটা পজিশনের নাম্বার সাধারণত শুরু হয়ে থাকে 0 থেকে এবং এলিমেন্টস অনুযায়ী আগের দিকে এগোতে থাকে । এই ইনডেক্স সম্পর্কে ভালো করে বুঝতে হলে আমাদের একটি প্রোগ্রাম লিখে বুঝতে হবে যেমন ধরুন 

a=[10,20,-50,21.3,'DebrajCode']{codeBox}

আমাদের এই লিস্ট প্রোগ্রামে প্রথম এলিমেন্টস বা ডাটা হল 10 এবং এর ইনডেক্স পজিশন হল 0 তার পরের এলিমেন্টস হল 20 এর ইনডেক্স পজিশন হল 1 এই ভাবেই ইনডেক্স পজিশন এলিমেন্টসের দিকে এগোতে থাকে। 

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

এক্সেস লিস্ট এলিমেন্টস

আমাদের লিস্ট এলিমেন্টস বা ডাটা অ্যাক্সেস করতে গেলে আমাদের একটি লিস্ট প্রোগ্রাম তৈরি করতে হবে যেমন 

a=[10,20,-50,21.3,'DebrajCode']{codeBox}

আমরা এই লিস্ট এলিমেন্টস কে অ্যাক্সেস করতে গেলে আমাদের ইনডেক্স নাম্বার বা পজিসন  নাম্বার দিয়ে এলিমেন্টস অ্যাক্সেস করতে হবে যেমন

a=[0]
a=[1]
a=[2]
a=[3]
a=[4]{codeBox}

আমরা যেই লিস্টটি তৈরি করেছি তাতে পাঁচটি এলিমেন্টস যুক্ত করেছি তার জন্য আমাদের কাছে পাঁচটি ইনডেক্স নামার আছে। আপনি যত গুল এলিমেন্টস তৈরি করবেন আপনার কাছে তত গুলো ইনডেক্স নাম্বার থাকবে। আমরা আগের প্রোগ্রামে দেখলাম কি ভাবে ইনডেক্স নাম্বার ব্যাবহার করে এলিমেন্টস অ্যাক্সেস করতে পারি কিন্তু আমরা যদি কম্পিউটার স্ক্রীনে এলিমেন্টসকে প্রিন্ট করতে চাই তা হলে আমাদের প্রিন্ট ফাংশন ব্যাবহার করতে হবে যেমন 

a=[10,20,-50,21.3,'DebrajCode']
print(a[0])
print(a[1])
print(a[2])
print(a[3])
print(a[4]){codeBox}

#Output This Code 
10
20
-50
21.3
DebrajCode{codeBox}

আমরা এই প্রোগ্রামে দেখলাম কি ভাবে পজেটিভ ইনডেক্স নাম্বার ব্যাবহার করে কি ভাবে এলিমেন্টসকে অ্যাক্সেস বা কম্পিউটার স্ক্রীনে আউট পুট করতে হয়। এবার আমরা দেখবো নেগেটিভ ইনডেক্স নাম্বার ব্যাবহার করে কি ভাবে এলিমেন্টসকে অ্যাক্সেস বা কম্পিউটার স্ক্রীনে আউট পুট করব। 

a=[10,20,-50,21.3,'DebrajCode']
#Elements Access Program
a[-1]
a[-2]
a[-3]
a[-4]
a[-5]{codeBox}

#Elements Output Program
print(a[-1])
print(a[-2])
print(a[-3])
print(a[-4])
print(a[-5]){codeBox}

#Output This Code
DebrajCode
21.3
-50
20
10{codeBox}

এলিমেন্টস আপডেট এবং মোডিফাই

আমরা প্রথমেই আলোচনা করেছি য়ে লিস্ট ডাটাটাইপ হল পরিবর্তনযোগ্য বা আমরা এই লিস্ট ডেটাটাইপকে নিজের ইচ্ছে মতো এলিমেন্টসকে আপডেট করতে পারি। লিস্ট ডেটা টাইপিতে এলিমেন্টস মোডিফাই করতে গেলে আমাদের একটি প্রোগ্রাম লিখতে হবে যেমন 

a=[10,20,-50,21.3,'DebrajCode']{codeBox}

আমরা আগের প্রোগ্রাম গুলোতে দেখেছি ইনডেক্স নাম্বার বা পজিসন নাম্বার ব্যাবহার করে কি ভাবে অ্যাক্সেস বা আউটপুট করেছি। এবার সেই ইনডেক্স নাম্বার ব্যাবহার করে এলিমেন্টসকে আমরা আপডেট করতে পারি যেমন ধরুন আমাদের a লিস্টে 10 এলিমেন্টসকে 30 এবং -50 এলিমেন্টসকে -100 করবো। আমরা একটি পজেটিভ ইনডেক্স নাম্বার এবং আরেকটি নেগেটিভ ইনডেক্স নাম্বার দিয়ে এলিমেন্টসকে চেঞ্জ করবো যেমন 

a[0]=30
a[-3]=-100
print(a){codeBox}

#Output This Code
[30, 20, -100, 21.3, 'DebrajCode']{codeBox}
নবীনতর পূর্বতন