পাইথন সারি হল একটি অন্তর্নির্মিত লাইব্রেরি যা আপনাকে একটি তালিকা তৈরি করতে দেয় যা FIFO নিয়ম ব্যবহার করে, প্রথমে প্রথমে আউট। Python deque বিপরীত নিয়ম, LIFO queue বা লাস্ট ইন ফার্স্ট আউট ব্যবহার করে। উভয়ই স্ট্যাক এবং কিউতে কাজ করে।
আপনি যখন পাইথনে কাজ করছেন, আপনি একটি তালিকার পরিবর্তে আইটেমগুলির একটি সারি তৈরি করতে চাইতে পারেন। উদাহরণস্বরূপ, ধরা যাক আপনি একটি প্রোগ্রাম লিখছেন যা একটি সম্মেলনের নিবন্ধনগুলি ট্র্যাক করে। যখন আমরা কাউকে তালিকায় যুক্ত করি, আপনি তাদের সারির পিছনে রাখতে চান এবং তারপরে আপনি চান যে তারা সারির মধ্য দিয়ে অগ্রসর হোক কারণ সামনের লোকেরা ঢুকতে শুরু করে৷
পাইথনে একটি অন্তর্নির্মিত লাইব্রেরি রয়েছে যা আপনাকে এই ধরণের সমস্যাগুলির সাথে সাহায্য করার জন্য ডিজাইন করা হয়েছে:সারি। সারিগুলি পাইথনের স্ট্যাকের মতো, প্রধান পার্থক্য হল একটি সারির সাথে, আপনি সম্প্রতি যোগ করা আইটেমটি সরিয়ে ফেলেছেন। একটি স্ট্যাকের মধ্যে, অন্যদিকে, আপনি অতি সম্প্রতি যোগ করা আইটেমটি সরিয়ে দেন৷
৷এই টিউটোরিয়ালে, আমরা পাইথনে সারিগুলির মূল বিষয়গুলি এবং কীভাবে আপনি একটি বাস্তবায়ন করতে পারেন তা ভাঙ্গতে যাচ্ছি৷
সারি প্রাইমার
পাইথন তালিকার সাথে কাজ করার সময় সহায়ক, সারিগুলি দরকারী যখন আপনি একটি তালিকা থেকে জিনিসগুলিকে যে ক্রমানুসারে রেখেছিলেন সেগুলিকে বের করে আনতে চান৷ আমাদের আগের উদাহরণটি ব্যবহার করার জন্য, আপনি যখন একটি সম্মেলনে থাকবেন, তখন আপনাকে রাখা উচিত আপনি যখন প্রথম নিবন্ধন করবেন তখন লাইনের পিছনে। কিন্তু তালিকায় থাকা ব্যক্তিরা অন্তর্ভুক্ত হতে শুরু করলে, আপনার তালিকায় আরও উপরে যাওয়া উচিত।
সারিগুলি অ্যারে থেকে আলাদা এবং সেই সারিতে থাকা তালিকাগুলি র্যান্ডম অ্যাক্সেস নয়—একটি সারিতে সংরক্ষিত ডেটার একটি নির্দিষ্ট ক্রম থাকে৷ সুতরাং যদি আপনি একটি সারিতে একটি আইটেম যোগ করতে চান, এটি শেষ যোগ করা হবে. একে first-in
বলা হয় , first-out
, অথবা সংক্ষেপে ফিফো সারি।
পাইথনে, আপনি একটি সারি হিসাবে একটি আদর্শ তালিকা ব্যবহার করতে পারেন। যাইহোক, যদি আপনি উপাদানগুলি সন্নিবেশ করান এবং অপসারণ করেন তবে তালিকাগুলি বেশ ধীর হতে পারে কারণ তালিকার শুরুতে উপাদানগুলি পরিবর্তন করার জন্য তালিকার অন্যান্য উপাদানগুলিকে নীচে সরানো প্রয়োজন৷ অতএব, যদি আপনি একটি ফার্স্ট-ইন, লাস্ট-আউট তালিকা বাস্তবায়ন করতে চান, তাহলে আপনার একটি সারি ব্যবহার করা উচিত।
পাইথন সারি
সুতরাং, আপনি কিভাবে পাইথনে একটি সারি বাস্তবায়ন করবেন? এটি করার জন্য, আমাদের বিল্ট-ইন সারি লাইব্রেরি ব্যবহার করতে হবে। সারি মডিউলটিতে সারিগুলির জন্য বেশ কয়েকটি দরকারী ক্লাস অন্তর্ভুক্ত রয়েছে, তবে এই টিউটোরিয়ালটির জন্য আমরা queue.Queue
-এ ফোকাস করতে যাচ্ছি। ক্লাস।
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।
ধরা যাক যে আমরা একটি প্রোগ্রাম তৈরি করছি যা লোকাল থিয়েটারে যেতে এবং সর্বশেষ সিনেমা দেখতে চায় এমন লোকেদের ট্র্যাক করে। যারা সিনেমাটি দেখতে চান তাদের অপেক্ষা তালিকার ট্র্যাক রাখতে আমরা একটি সারি ব্যবহার করতে পারি।
প্রথমত, আমাদের সারি ক্লাস সংজ্ঞায়িত করতে হবে। আমরা নিম্নলিখিত কোড ব্যবহার করে এটি করতে পারি:
from queue import Queue waitlist = Queue()
এখন আমরা আমাদের সারি তৈরি করতে প্রস্তুত। put()
ফাংশন ডেটা put
করতে দেয় সারিতে নীচের কোডে, আমরা অপেক্ষার তালিকায় পাঁচজনকে যুক্ত করতে যাচ্ছি যারা এই মুভিটি দেখতে সাইন আপ করেছেন:
waitlist.put('Erin') waitlist.put('Samantha') waitlist.put('Joe') waitlist.put('Martin') waitlist.put('Helena')
এখন আমরা আমাদের পাঁচটি নাম সারিতে যুক্ত করেছি। ইরিন প্রথমে আমাদের সারিতে, তারপর সামান্থা এবং এভাবেই আমরা হেলেনা পর্যন্ত না পৌঁছানো পর্যন্ত, যিনি শেষ। আমরা get()
ব্যবহার করে এটি প্রদর্শন করতে পারি ফাংশন, যেমন:
print(waitlist.get())
আমাদের কোড নিম্নলিখিত প্রদান করে:
Erin
আপনি দেখতে পাচ্ছেন, ইরিন আমাদের সারিতে প্রথম। আমরা যদি সারিতে থাকা প্রথম দুটি নাম প্রিন্ট করতে চাই, তাহলে আমরা get()
ব্যবহার করব। ফাংশন দুইবার:
print(waitlist.get()) print(waitlist.get())
আমাদের কোড নিম্নলিখিত প্রদান করে:
Erin Samantha
Python Deque উদাহরণ
কিন্তু যদি আমরা আমাদের সারির উভয় প্রান্ত থেকে অনেকগুলি আইটেম যোগ করতে এবং সরাতে চাই? এখানেই deque ফাংশনটি আসে। deque ব্যবহার করে, আমরা একটি ডাবল-এন্ডেড কিউ তৈরি করতে পারি যেখানে আমরা সারির শুরু বা শেষ থেকে উপাদানগুলি যোগ করতে এবং অপসারণ করতে পারি। ডিকগুলি last-in
, first-out
, অথবা সংক্ষেপে LIFO।
আসুন উপরের মতো একই উদাহরণ ব্যবহার করি:একটি চলচ্চিত্রের জন্য অপেক্ষা তালিকাভুক্ত নাম সংরক্ষণ করা। প্রথমত, আমরা আমাদের deque ফাংশন ঘোষণা করব:
from collections import deque waitlist = deque()
এখন আমরা আমাদের ডেক শুরু করেছি, আমরা আমাদের অপেক্ষা তালিকাভুক্ত নামের তালিকা আমাদের ডেকে যোগ করতে পারি:
waitlist.append('Erin') waitlist.append('Samantha') waitlist.append('Joe') waitlist.append('Martin') waitlist.append('Helena')
আপনি দেখতে পাচ্ছেন, আমরা append()
ব্যবহার করেছি আমাদের সারিতে একটি আইটেম রাখা ফাংশন. আমাদের অপেক্ষা তালিকায় সংরক্ষিত মানগুলি দেখতে, আমরা নিম্নলিখিত কোডটি ব্যবহার করতে পারি:
print(waitlist)
আমাদের কোড নিম্নলিখিত প্রদান করে:
deque(['Erin', 'Samantha', 'Joe', 'Martin', 'Helena'])
আপনি দেখতে পাচ্ছেন, আমাদের ডেটা আমাদের ডেক-এ ঢোকানো ক্রমে সংরক্ষণ করা হয়েছে। কিন্তু আমরা যদি আমাদের সারি থেকে প্রথম আইটেমটি সরাতে চাই? আমরা popleft()
ব্যবহার করতে পারি এই লক্ষ্য অর্জনের জন্য ফাংশন। এখানে একটি উদাহরণ:
waitlist.popleft() print(waitlist)
আমাদের কোডটি আমাদের তালিকার প্রথম আইটেমটি সরিয়ে দিয়েছে — Erin
— এবং নিম্নলিখিতগুলি প্রদান করে:
deque(['Samantha', 'Joe', 'Martin', 'Helena'])
আমরা যদি আমাদের ডিক থেকে সমস্ত আইটেম মুছে ফেলতে চাই, আমরা clear() ফাংশনটি ব্যবহার করতে পারি:
deque.clear() print(waitlist)
আমাদের কোডের ফলাফল নিম্নরূপ:
deque([])
আপনি দেখতে পাচ্ছেন, আমাদের ডিক খালি, কিন্তু বস্তুটি এখনও বিদ্যমান।
উপসংহার
এটাই! এই নিবন্ধে, আমরা আলোচনা করেছি যে কীভাবে সারিগুলি এক ধরণের ডেটা কাঠামো যা আপনাকে ডেটা সংরক্ষণের জন্য প্রথম-ইন, প্রথম-আউট স্টোরেজ পদ্ধতি গ্রহণ করতে দেয়। একটি সারি ব্যবহার একটি উদাহরণ একটি নতুন পণ্য জন্য একটি অপেক্ষা তালিকা রাখা হবে.
আমরা আরও আলোচনা করেছি যে আপনি কীভাবে একটি ডবল-এন্ডেড সারি তৈরি করতে deque ব্যবহার করতে পারেন যেখানে আপনি আপনার সারি থেকে উপাদানগুলি যোগ করতে এবং সরাতে পারেন। এখন আপনি আপনার নিজের প্রশ্ন এবং ডিক লিখতে শুরু করতে প্রস্তুত!
পাইথন বিভিন্ন পেশাদার প্রোগ্রামিং পরিবেশে ব্যবহৃত হয়। ডাউনলোড করুন ফ্রি ক্যারিয়ার কর্ম অ্যাপ আজ শিখতে কিভাবে পাইথন আপনাকে প্রযুক্তিতে আপনার স্বপ্নের ক্যারিয়ারে প্রবেশ করতে সাহায্য করতে পারে!