টাপল
বিভিন্ন ধরণের ডাটা-টাইপ একসাথে স্টোর (ধারণ) করার জন্য পাইথন আমাদের কে লিস্ট এর পাশাপাশি আরেক ধরনের ডাটা-টাইপ দিয়ে থাকে। তার নাম হচ্ছে “টাপল (Tuple)” । টাপলের সাথে লিস্টের পার্থক্য হল যে টাপলের উপাদানগুলি একবার এসাইন করা হলে পরিবর্তন করা যায় না কিন্তু লিস্টের উপাদান গুলি পরিবর্তন করা যায়।
আমরা প্রথম বন্ধনী () ব্যবহার করে টাপল তৈরী করতে পারি । প্রথম বন্ধনী এর মধ্যে মাধ্যমে আমরা ডাটা গুলোকে আবদ্ধ করে দিই ।
টাপল থেকে ডাটা নিয়ে আসা
লিস্ট এর মতোই টাপল এর ও ইনডেক্সিং (indexing) আছে , আমরা সেই নির্দিষ্ট আইটেম এর ইনডেক্স (index) ধরে আইটেমটি নিয়ে আনতে পারবো
টাপল স্লাইসিং
লিস্ট স্লাইসিং এর হবহু কনসেপ্ট হচ্ছে টাপল স্লাইসিং। এক্ষেত্রে আমরা টাপল এর একটি অংশ কেটে নেই, পুরু টাপল থেকে , এই কেটে নেয়ার ব্যপারটি হয় ইন্ডেক্স এর মাধ্যমে। চলেন আমরা , টাপল স্লাইসিং কিভাবে করে সেটি দেখি
টাপল এ একটিই উপাদান
যদি এমন হয় যে টাপল এ একটি মাত্র উপাদান রাখতে হবে, সেক্ষেত্রে মনে হয় যেন, টাপল-এর মধ্যে উপাদানটি রেখে দিলেই হবে –
কি একটু অবাক হচ্ছি তাই না ? আসলে, একটি মাত্র উপাদান থাকলে আমাদের কে ওই উপাদানটির পরে কমা (,) দিলেই পাইথন সেটিকে টাপল হিসেবে বিবেচনা করে
এই কমাকে আমরা ট্রেইলিং কমা , (trailing comma) বলবো
টাপল-এর উপাদান পরিবর্তন
টাপল আসলে পরিবর্তন অযোগ্য (Tuple is immutable) , অর্থাৎ এর কোনো ইনডেক্স এর ডাটা দ্বিতীয়বার পরিবর্তন বা আপডেট করা যায় না ,
এই কোডটি রান করলে , নিচের এরর দিবে
তবে ভিতরে লিস্ট থাকলে কিন্তু ওই লিস্ট এর ডাটা চেঞ্জ করতে পারবো যেমন ,
টাপল-এর কিছু মেথড
নিচের টাপলটি লক্ষ্য করি
any_tuple = (1, 2, 3, 1, 7, 4, 1, 1, 5)
দৈর্ঘ্য বের করা | print( len( any_tuple ) ) | 9 |
একটি উপাদান কতবার আছে | print( any_tuple.count(1) ) | 4 |
একটি উপাদান কত নম্বর ইনডেক্স এ আছে | print( any_tuple.index(2) ) | 1 |
এখন মনে প্রশ্ন আসতে পারে আমরা লিস্ট থাকতে টাপল কেন ব্যবহার করব ? এর উত্তর হচ্ছে :
টাপল এর মেমোরি ইফিসিয়েন্সি লিস্ট থেকে বেশি। এছাড়াও যখন আমরা এমন ডাটা নিয়ে কাজ করব যেগুলি অপরিবর্তনীয় তখন লিস্টের থেকে টাপল ব্যবহার করা উত্তম ।
উদাহরন ১
উদাহরন ২
উদাহরন ৩
উদাহরন ৪
উদাহরন ৫