লিস্ট ( List )
পাইথনে ভ্যারিয়েবল নেয়ার জন্য এই পর্যন্ত আমরা একটি একটি করে ভ্যারিয়েবল নিয়েছি বা কমা দিয়ে একই টাইপের ভ্যারিয়েবল নিয়ে কাজ করেছি।এতে ভ্যারিয়েবল নেয়া গেলেও প্রসেসটা তেমন এফিসিয়েন্ট নয়। যদি অনেক ভ্যারিয়েবল নেয়ার প্রয়োজন হয় তবে আলাদা আলাদা সবগুলো ভ্যারিয়েবল ডিক্লেয়ার করতে গেলে কোডের সাইজ অনেক বড় হয়ে যাবে,কোডটাও তেমন ভালো দেখাবে না।
লিস্ট এর সাহায্যে একটি সিংগেল ভ্যারিয়েবলের মাঝে এক সাথে অনেকগুলো টাইপের ডেটা স্টোর করা যায়। পাইথনে লিস্ট লিখতে স্কয়ার ব্রাকেট "[ ]" ব্যবহার করা। হয় এবং এলিমেন্ট গুলা কমা'র সাহায্যে সেপারেটেড থাকে। স্ট্রাকচার-
লিস্টের মাঝে সবধরনের ডেটাই লিখা যায়। স্ট্রিং লেখার সময় অবশ্যই "_" দিতে হবে।
লিস্ট একটি মিউটেবল ডেটা স্ট্রাকচার অর্থাৎ আমরা চাইলে লিস্টের ডেটা পরিবর্তন করতে পারব এবং এর জন্য পাইথন নতুন একটা লিস্ট তৈরি করে ফেলবে না।
এবার তুমি যদি নিচের মতো একটি লিস্ট তৈরি করে রান করো দেখবে পুরো লিস্টটাই প্রিন্ট হচ্ছে-
ইন্ডেক্স নাম্বারঃ
লিস্টের ইন্ডেক্স নাম্বার শুরু হয় শূন্য " ০ " থেকে এবং যতটি ডেটা থাকবে ততদূর পর্যন্ত চলতে থাকবে। অর্থ্যাৎ উপরের লিস্টের প্রথম ডেটা 27 এর ইন্ডেক্স নাম্বার zero (0) , ESE এর one (1), 8.5 এর two (2) এভাবে চলতে থাকবে। ইন্ডেক্সিং প্রথম অথবা শেষ এলিমেন্ট এই দুই ভাবেই গণনা করা যেতে পারে।এবার নিচের কোডটি দেখে ভালো ভাবে বুঝে নেও-
লিস্ট অপারেশনস ( List Operations ) পাইথন লিস্টে আমরা এলিমেন্ট যােগ করা, বাদ দেয়া, আলাদা লিস্ট বানানাে, দুটো লিস্ট যােগ করা সহ নানা রকমের অপারেশন চালাতে পারি। এই অপারেশনগুলোর আলাদা আলাদা নাম আছে। এই লিস্ট অপারেশনগুলো আমাদের ভালোভাবে শিখে নিতে হবে।
কনকেটেনেটিং
দুটো লিস্ট একসাথে জুড়ে দেয়াকে লিস্ট কনকেটেনেশন বলে। পাইথনে লিস্ট কনকেটেনেশনের ক্ষেত্রে "+" অপারেটর ব্যবহার করা হয়।
নোটঃ এখানে অবশ্যই অপারেন্ড দুটিই লিস্ট টাইপের হতে হবে।
স্লাইসিং
একটি লিস্ট থেকে চাইলে একাধিক সাব লিস্ট তৈরি করা যায়।
>>> listA = [1,54,7,8,9] >>>listA[2:] [4,7,8,9] । >>>listA[:3] [1,54] >>>listA[1:4] [54,7,8]
আপডেটিং
লিস্ট যেহেতু মিউটেবল বা পরিবর্তনীয় তাই আমরা চাইলে লিস্টের যেকোন জায়গায় যে কোন সময় এলিমেন্ট ইনপুট করতে পারি।
লিস্টের ২ নং ইন্ডেক্সে ভ্যালু ১০ ইনপুট কর। কিন্তু এক্ষেত্রে নতুন ডেটা লিস্টের আগের ডেটা কে রিপ্লেস কিরে ফেলবে।
এপেন্ডিং
এপেন্ড অর্থ যােগ করা। আমরা চাইলে লিস্টে একটি করে ডেটা ইনপুট করতে পারি তার জন্য এপেন্ড এক্সপ্রেশন ব্যবহার করা হয়।
ডিলিটিং/ রিমােভিং
এপেন্ডের মত রিমােভ ফাংশন ব্যবহার করে লিস্ট থেকে একটি করে ডেটা রিমােভ/ডিলিট করা যায়।
listA তে যদি একাধিক 5 থাকত তাহলে সবগুলাে 5 রিমােভ হওয়ার পরিবর্তে প্রথম যে 5 টি পাওয়া যেত পাইথন সেটি রিমােভ করে দিত।
লেনথ
লিস্টের দৈর্ঘ্য বের করার জন্য len() ফাংশন ব্যবহার করা হয়।
ম্যাক্সিমাম-মিনিমাম এলিমেন্ট
একটি লিস্টের সবচেয়ে বড়/ছােট উপাদান বের করতে লিস্টে ও max() এবং min() ফাংশন ব্যবহার করা হয়ে থাকে।
মেম্বারশিপ
কোন একটা উপাদান একটি লিস্টের মেম্বার কিনা তাও চেক করা যায়। তার জন্য in কী-ওয়ার্ড ব্যবহার করা হয়।
পাইথন লিস্টে আমরা এলিমেন্ট যােগ করা, বাদ দেয়া, আলাদা লিস্ট বানানাে, দুটো লিস্ট যােগ করা সহ নানা রকমের অপারেশন চালাতে পারি। এই অপারেশনগুলোর আলাদা আলাদা নাম আছে। এই লিস্ট অপারেশনগুলো আমাদের ভালোভাবে শিখে নিতে হবে।
স্লাইসিং একটি লিস্ট থেকে চাইলে একাধিক সাব লিস্ট তৈরি করা যায়।
>>> listA = [1,54,7,8,9] >>>listA[2:] [4,7,8,9] । >>>listA[:3] [1,54] >>>listA[1:4] [54,7,8]
আপডেটিং লিস্ট যেহেতু মিউটেবল বা পরিবর্তনীয় তাই আমরা চাইলে লিস্টের যেকোন জায়গায় যে কোন সময় এলিমেন্ট ইনপুট করতে পারি।
লিস্টের ২ নং ইন্ডেক্সে ভ্যালু ১০ ইনপুট কর। কিন্তু এক্ষেত্রে নতুন ডেটা লিস্টের আগের ডেটা কে রিপ্লেস কিরে ফেলবে।
এপেন্ডিং এপেন্ড অর্থ যােগ করা। আমরা চাইলে লিস্টে একটি করে ডেটা ইনপুট করতে পারি তার জন্য এপেন্ড এক্সপ্রেশন ব্যবহার করা হয়।
ডিলিটিং/ রিমােভিং এপেন্ডের মত রিমােভ ফাংশন ব্যবহার করে লিস্ট থেকে একটি করে ডেটা রিমােভ/ডিলিট করা যায়।
listA তে যদি একাধিক 5 থাকত তাহলে সবগুলাে 5 রিমােভ হওয়ার পরিবর্তে প্রথম যে 5 টি পাওয়া যেত পাইথন সেটি রিমােভ করে দিত।
লেনথ লিস্টের দৈর্ঘ্য বের করার জন্য len() ফাংশন ব্যবহার করা হয়।
ম্যাক্সিমাম-মিনিমাম এলিমেন্ট একটি লিস্টের সবচেয়ে বড়/ছােট উপাদান বের করতে লিস্টে ও max() এবং min() ফাংশন ব্যবহার করা হয়ে থাকে।
মেম্বারশিপ কোন একটা উপাদান একটি লিস্টের মেম্বার কিনা তাও চেক করা যায়। তার জন্য in কী-ওয়ার্ড ব্যবহার করা হয়।
ট্যুপল/ টাপল (Tuple)
ট্যুপলও লিস্টের মতোই পাইথনের ডাটা কালেকশনের একটি ডাটা স্টাকচার।ট্যুপল আর লিস্টের মধ্যে পার্থক্য হচ্ছে ট্যুপল ইমিউটেবল অর্থ্যাৎ লিস্টের ডাটা পরিবর্তন করা গেলেও ট্যুপলে কোন ডাটা পরিবর্তন করা যায় না। ট্যুপল লিখতে আমরা ফার্স্ট ব্রাকেট বা প্যারেনথিসিস ব্যবহার করি এবং লিস্টের মতোই ট্যুপলেও আমরা এলিমেন্ট গুলাে কমা সেপারেটেড করে লিখি। স্ট্রাকচার-
ট্যুপলে কোন স্পেসিফিক ডাটা প্রিন্ট করতে চাইলে লিস্টের মতো সেইম ইন্ডেক্সিং ব্যবহার করা হয়। আমার লাইফের রিয়েল-টাইম আপডেট পেতে ফলো করতে পারো ইন্সট্রাগ্রামে:https://www.instagram.com/shemanto_sharkar/
Support my blog: ব্লগের কন্টেন্ট এবং টেলিগ্রাম চ্যানেল যদি আপনার লাইফে কিছুটা হলেও ইম্পেক্ট ফেলে থাকে তবে আপনি চাইলে এক কাপ কফি কিনে আমাকে সাহায্য করতে পারেন,এতে করে আমি আমার ব্লগ এড ফ্রি ভাবে চালিয়ে যেতে পারবো-