पायथन कतार एक अंतर्निहित पुस्तकालय है जो आपको एक सूची बनाने की अनुमति देता है जो फीफो नियम का उपयोग करता है, पहले पहले बाहर। पायथन डेक विपरीत नियम, LIFO कतार, या लास्ट इन फर्स्ट आउट का उपयोग करता है। दोनों स्टैक और क्यू पर काम करते हैं।
जब आप पायथन में काम कर रहे हों, तो आप सूची के बजाय वस्तुओं की एक कतार बनाना चाह सकते हैं। उदाहरण के लिए, मान लें कि आप एक प्रोग्राम लिख रहे थे जो एक कॉन्फ़्रेंस में पंजीकरण को ट्रैक करता है। जब हम किसी व्यक्ति को सूची में जोड़ते हैं, तो आप उन्हें कतार के पीछे रखना चाहते हैं, और फिर आप चाहते हैं कि वे कतार के माध्यम से आगे बढ़ें क्योंकि सामने वाले लोग प्रवेश करना शुरू करते हैं।
इस प्रकार की समस्याओं में आपकी मदद करने के लिए पायथन में एक अंतर्निहित पुस्तकालय है:कतारें। कतारें पायथन में ढेर के समान हैं, मुख्य अंतर यह है कि कतार के साथ, आप कम से कम हाल ही में जोड़े गए आइटम को हटा देते हैं। दूसरी ओर, एक स्टैक में, आप हाल ही में जोड़े गए आइटम को हटा देते हैं।
इस ट्यूटोरियल में, हम पायथन में क्यू की मूल बातें और आप एक को कैसे लागू कर सकते हैं, इसे तोड़ने जा रहे हैं।
क्यू प्राइमर
पायथन सूची के साथ काम करते समय उपयोगी, क्यू तब उपयोगी होते हैं जब आप चीजों को सूची से बाहर उसी क्रम में प्राप्त करना चाहते हैं जिसमें आप उन्हें डालते हैं। हमारे पिछले उदाहरण का उपयोग करने के लिए, जब आप एक सम्मेलन में हों, तो आपको रखा जाना चाहिए जब आप पहली बार पंजीकरण करते हैं तो लाइन के पीछे। लेकिन जैसे-जैसे सूची में लोग शामिल होने लगते हैं, आपको सूची में और ऊपर जाना चाहिए।
कतारें सरणियों से भिन्न होती हैं और उस कतार में सूचियाँ रैंडम एक्सेस नहीं होती हैं - कतार में संग्रहीत डेटा का एक विशेष क्रम होता है। इसलिए यदि आप किसी आइटम को कतार में जोड़ना चाहते हैं, तो उसे अंत में जोड़ा जाएगा। इसे first-in
कहा जाता है , first-out
, या संक्षिप्त के लिए FIFO कतार।
पायथन में, आप एक कतार के रूप में एक मानक सूची का उपयोग कर सकते हैं। हालाँकि, यदि आप तत्वों को सम्मिलित और हटा रहे हैं तो सूचियाँ काफी धीमी हो सकती हैं क्योंकि सूची की शुरुआत में तत्वों को बदलने के लिए सूची के अन्य सभी तत्वों को नीचे ले जाने की आवश्यकता होती है। इसलिए, यदि आपको प्रथम-इन, अंतिम-आउट सूची को लागू करने की आवश्यकता है, तो आपको एक कतार का उपयोग करना चाहिए।
पायथन कतार
तो, आप पायथन में एक कतार कैसे लागू करते हैं? ऐसा करने के लिए, हमें अंतर्निहित कतार पुस्तकालय का उपयोग करना होगा। कतार मॉड्यूल में कतारों के लिए कई उपयोगी कक्षाएं शामिल हैं, लेकिन इस ट्यूटोरियल के लिए हम queue.Queue
पर ध्यान केंद्रित करने जा रहे हैं। कक्षा।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
मान लीजिए कि हम एक प्रोग्राम बना रहे हैं जो उन लोगों को ट्रैक करता है जो स्थानीय थिएटर में नवीनतम फिल्म देखने जाना चाहते हैं। हम उन लोगों की प्रतीक्षा सूची पर नज़र रखने के लिए एक कतार का उपयोग कर सकते हैं जो फिल्म देखना चाहते हैं।
सबसे पहले, हमें अपनी कतार वर्ग को परिभाषित करने की आवश्यकता है। हम निम्नलिखित कोड का उपयोग करके ऐसा कर सकते हैं:
कतार आयात से Queuewaitlist =Queue()
अब हम अपनी कतार बनाने के लिए तैयार हैं। put()
फ़ंक्शन डेटा को put
. की अनुमति देता है कतार में। नीचे दिए गए कोड में, हम प्रतीक्षा सूची में पांच लोगों को जोड़ने जा रहे हैं जिन्होंने अभी-अभी फिल्म देखने के लिए साइन अप किया है:
वेटलिस्ट.पुट('एरिन')वेटलिस्ट.पुट('सामंथा')वेटलिस्ट.पुट('जो')वेटलिस्ट.पुट('मार्टिन')वेटलिस्ट.पुट('हेलेना')
अब हमने कतार में अपने पांच नाम जोड़ लिए हैं। एरिन पहले हमारी कतार में है, फिर सामंथा, और इसी तरह जब तक हम हेलेना तक नहीं पहुँचते, जो आखिरी है। हम इसे get()
. का उपयोग करके प्रदर्शित कर सकते हैं समारोह, जैसे:
प्रिंट(प्रतीक्षासूची.get())
हमारा कोड निम्नलिखित लौटाता है:
एरिन
जैसा कि आप देख सकते हैं, एरिन हमारी कतार में सबसे पहले हैं। यदि हम कतार में पहले दो नामों का प्रिंट आउट लेना चाहते हैं, तो हम get()
का उपयोग करेंगे। दो बार कार्य करें:
प्रिंट(प्रतीक्षासूची.प्राप्त ())प्रिंट(प्रतीक्षासूची.प्राप्त ())
हमारा कोड निम्नलिखित लौटाता है:
एरिनसामंथा
पायथन डेक उदाहरण
लेकिन क्या होगा अगर हम अपनी कतार के किसी भी छोर से कई आइटम जोड़ना और हटाना चाहते हैं? यह वह जगह है जहां डेक फ़ंक्शन आता है। डेक का उपयोग करके, हम एक डबल-एंडेड कतार बना सकते हैं जहां हम कतार के प्रारंभ या अंत से तत्वों को जोड़ और हटा सकते हैं। Deques last-in
हैं , first-out
, या संक्षेप में LIFO।
आइए ऊपर के समान उदाहरण का उपयोग करें:किसी फिल्म के लिए प्रतीक्षासूची वाले नामों को संग्रहीत करना। सबसे पहले, हम अपने डेक फ़ंक्शन की घोषणा करेंगे:
संग्रह से आयात dequewaitlist =deque()
अब हमने अपने डेक को इनिशियलाइज़ कर लिया है, हम अपनी प्रतीक्षा सूची के नामों की सूची को अपने डेक में जोड़ सकते हैं:
waitlist.append('Erin')waitlist.append('Samantha')waitlist.append('Joe')waitlist.append('Martin')waitlist.append('Helena')
जैसा कि आप देख सकते हैं, हमने append()
. का उपयोग किया है किसी आइटम को हमारी कतार में डालने के लिए कार्य करता है। हमारी प्रतीक्षा सूची में संग्रहीत मूल्यों को देखने के लिए, हम निम्नलिखित कोड का उपयोग कर सकते हैं:
प्रिंट(प्रतीक्षासूची)
हमारा कोड निम्नलिखित लौटाता है:
deque(['Erin', 'Samantha', 'Joe', 'Martin', 'Helena'])
जैसा कि आप देख सकते हैं, हमारे डेटा को उसी क्रम में संग्रहीत किया गया है जिस क्रम में हमने इसे अपने डेक में डाला है। लेकिन क्या होगा अगर हम अपनी कतार से पहली वस्तु को हटाना चाहते हैं? हम popleft()
. का उपयोग कर सकते हैं इस लक्ष्य को पूरा करने के लिए कार्य करें। यहां एक उदाहरण दिया गया है:
हमारे कोड ने हमारी सूची में पहला आइटम हटा दिया है — Erin
— और निम्नलिखित लौटाता है:
deque(['सामंथा', 'जो', 'मार्टिन', 'हेलेना'])
यदि हम अपने डेक में सभी वस्तुओं को हटाना चाहते हैं, तो हम clear() फ़ंक्शन का उपयोग कर सकते हैं:
deque.clear()प्रिंट(प्रतीक्षासूची)
हमारे कोड का परिणाम इस प्रकार है:
डेक([])
जैसा कि आप देख सकते हैं, हमारा डेक खाली है, लेकिन वस्तु अभी भी मौजूद है।
निष्कर्ष
इतना ही! इस लेख में, हमने चर्चा की है कि कैसे क्यू एक प्रकार की डेटा संरचना है जो आपको डेटा संग्रहीत करने के लिए एक फर्स्ट-इन, फर्स्ट-आउट स्टोरेज दृष्टिकोण अपनाने की अनुमति देती है। कतार का एक उदाहरण एक नए उत्पाद के लिए प्रतीक्षा सूची रखना होगा।
हमने यह भी चर्चा की कि आप एक डबल-एंडेड कतार बनाने के लिए डेक का उपयोग कैसे कर सकते हैं जहां आप अपनी कतार से तत्वों को जोड़ और हटा सकते हैं। अब आप अपने स्वयं के प्रश्न और प्रश्न लिखना शुरू करने के लिए तैयार हैं!
पायथन का प्रयोग विभिन्न प्रकार के पेशेवर प्रोग्रामिंग वातावरणों में किया जाता है। डाउनलोड करें मुफ्त करियर कर्म ऐप आज यह जानने के लिए कि कैसे पाइथॉन तकनीक के क्षेत्र में आपके सपनों के कैरियर में प्रवेश करने में आपकी मदद कर सकता है!