Site icon Trickbd.com

পাইথন প্রোগ্রামিং – টাপল ডাটা টাইপ – পর্ব ০৫

টাপল ডাটা টাইপ

টাপল পাইথন এর আরেকধরনের ডাটা টাইপ। এটা অনেকটা লিস্ট এর মতই।

তবে, লিস্ট ও টাপল এর মধ্যে প্রধান অমিল হচ্ছে এদের পরিবর্তন যোগ্যতা নিয়ে।


লিস্ট মিউটেবল অর্থাৎ লিস্ট এ নতুন আইটেম যোগ করা যায়, ডিলিট করা যায় আরো কত কি।

কিন্তু, টাপল এ আপনি সেগুলো পারবেন না। মানে, টাপল হচ্ছে অপরিবর্তনযোগ্য। এখানে, নতুন কিছু প্রবেশ করানো বা ডিলিট করতে পারবেন না।


কোন কিছু আপডেট ও করতে পারবেন না। আবার, লিস্ট এর মত টাপলেও যেকোন ধরনের ডাটা রাখতে পারবেন।

একটা প্রশ্ন মনে জেগেছে তাই না?? যে লিস্ট এর মত স্মার্ট ডাটা টাইপ থাকতে আবার টাপল কি দরকার।


এর উত্তর এখন দিলে সব মাথার উপর দিয়ে যাবে। তাই পরে বলব ইনশাল্লাহ!!


টাপল তৈরিঃ-


খুব সহজ কাজ প্রথমে প্যারেন্থেসিস বা ফার্স্ট ব্র্যাকেট দিয়ে তারপর ডাটা রেখে শেষে ব্র্যাকেট ক্লোজ করলেই খেলা খতম। যেমনঃ-


>>> a = (1,2,3,'Apple', 'Computer', 'Clock', 3.141659)
>>> a
(1, 2, 3, 'Apple', 'Computer', 'Clock', 3.141659)
>>> type(a)

টাপল এ আইটেম এক্সেস করা লিস্ট এর মতোই। ভ্যারিয়েবল নেম দিয়ে [ আইটেম ইনডেক্স ]। যেমন:-

>>> a = (‘Apple’, ‘Orange’, ‘flower’)
>>> a[1]
‘Orange’

আগেই তো বলেছি না যে টাপল এর কিছু পরিবর্তন করা যায় না। তবুও একটু চেষ্টা করা যাক কী বলেন??


>>> data1 = ['Apple', 'Ball', 'Cat', 'Dog']
>>> data1[2] = 'Cream'
>>> data1
['Apple', 'Ball', 'Cream', 'Dog']
>>> data2 = ('Apple', 'Bios', 'Crystle', 'Decode')
>>> data2[2] = 'Cat'
Traceback (most recent call last):
File "", line 1, in 
data2[2] = 'Cat'
TypeError: 'tuple' object does not support item assignment

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

কিন্তু, যেই না টাপল কে করতে গেলাম ইরর দিছে।


আরো কিছু কাজ করে দেখেন যেগুলো লিস্ট এ হয় সেগুলো টাপল এ হয় কিনা।

যেমনঃ- নতুন আইটেম যোগ করা, ডিলিট করা ইত্যাদি।



টাপল এর কিছু অপারেশনঃ-

len() :- টাপল এর আইটেম সংখ্যা দেখায়।


>>> a = (1, 2, 'Pen', 'Virus')
>>> len(a)
4

count() :- টাপল এ কোন আইটেম কতবার আছে তা দেখায়।


>>> a = (1, 2, 'Pen', 'Virus')
>>> a.count('pen') 0

index() :- টাপল এর কোন আইটেম এর ইনডেক্স প্রিন্ট করে।


>>> a = (1, 2, 'pen', 'Virus', 'pen', 'book')
>>> a.index('book')
5

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


আর এই টেস্ট এর উপর নির্ভর করবে আমার পরবর্তী লেখা নিয়ে। মানে, কমপক্ষে যদি একজন ও এই আমার আগে পোস্ট গুলো থেকে শিখে থাকে কিছু তাহলে পরবর্তী পোস্ট লেখা হবে।


কারণ, কেউ না শিখলে তো লিখে লাভ নাই। তাই, আগের পোস্ট গুলো পড়ে ভালো করে আয়ত্মে নিয়ে নিন। পরীক্ষার জন্য তৈরি থাকুন।


পরীক্ষা সংক্রান্ত আপডেট থাকবে আলাদা একটা পোস্ট এ।



ধন্যবাদ। আমি শাহরিয়ার আহমেদ শোভন। কোন প্রশ্ন বা যে কোন মতামত লিখুন কমেন্টে। আর গালি দিতে চাইলে জানান ফেসবুকে। ফেসবুকে আমি

আরো ভালো আর্টিকেল পেতে চলে যান এই লিংক এ www.thebanglatech.xyz