पायथन क्यू एक बिल्ट-इन लाइब्रेरी है जो आपको एक सूची बनाने की अनुमति देती है जो FIFO नियम, फर्स्ट इन फर्स्ट आउट का उपयोग करती है। पायथन डी क्यू विपरीत नियम, LIFO क्यू, या लास्ट इन फर्स्ट आउट का उपयोग करता है। दोनों स्टैक्स और क्यू पर काम करते हैं।
क्यू प्राइमर
पायथन सूची के साथ काम करते समय सहायक, क्यू उपयोगी होते हैं जब आप चीजों को एक सूची से उसी क्रम में निकालना चाहते हैं जिस क्रम में आपने उन्हें डाला था। हमारे पिछले उदाहरण का उपयोग करने के लिए, जब आप किसी कॉन्फ्रेंस में होते हैं, तो जब आप पहली बार पंजीकरण करते हैं तो आपको लाइन के पीछे रखा जाना चाहिए। लेकिन जैसे-जैसे सूची के लोग अंदर जाना शुरू करते हैं, आपको सूची में आगे बढ़ना चाहिए।
क्यू एरे और सूचियों से भिन्न होते हैं क्योंकि क्यू रैंडम एक्सेस नहीं हैं - क्यू में संग्रहीत डेटा का एक विशेष क्रम होता है। इसलिए यदि आप किसी क्यू में कोई आइटम जोड़ना चाहते हैं, तो उसे अंत में जोड़ा जाएगा। इसे first-in, first-out, या संक्षेप में FIFO क्यू कहा जाता है।
पायथन में, आप क्यू के रूप में एक मानक सूची का उपयोग कर सकते हैं। हालांकि, यदि आप तत्वों को सम्मिलित और हटा रहे हैं तो सूचियाँ काफी धीमी हो सकती हैं क्योंकि सूची की शुरुआत में तत्वों को बदलने के लिए सूची के अन्य सभी तत्वों को नीचे ले जाने की आवश्यकता होती है। इसलिए, यदि आपको फर्स्ट-इन, लास्ट-आउट सूची लागू करने की आवश्यकता है, तो आपको क्यू का उपयोग करना चाहिए।
पायथन क्यू
तो, आप पायथन में क्यू कैसे लागू करते हैं? ऐसा करने के लिए, हमें बिल्ट-इन क्यू लाइब्रेरी का उपयोग करना होगा। क्यू मॉड्यूल में क्यू के लिए कई उपयोगी क्लासेस शामिल हैं, लेकिन इस ट्यूटोरियल के लिए हम queue.Queue क्लास पर ध्यान केंद्रित करने जा रहे हैं।
मान लें कि हम एक प्रोग्राम बना रहे हैं जो उन लोगों को ट्रैक करता है जो स्थानीय थिएटर में नवीनतम फिल्म देखना चाहते हैं। हम फिल्म देखने के लिए प्रतीक्षा सूची में लोगों को ट्रैक करने के लिए क्यू का उपयोग कर सकते हैं।
सबसे पहले, हमें अपनी क्यू क्लास को परिभाषित करने की आवश्यकता है। हम इसे निम्न कोड का उपयोग करके कर सकते हैं:
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
पायथन डी क्यू उदाहरण
लेकिन क्या होगा यदि हम अपनी क्यू के किसी भी छोर से कई आइटम जोड़ना और हटाना चाहते हैं? यहीं डी क्यू फ़ंक्शन काम आता है। डी क्यू का उपयोग करके, हम एक डबल-एंडेड क्यू बना सकते हैं जहां हम क्यू की शुरुआत या अंत से तत्व जोड़ और हटा सकते हैं। डी क्यू last-in, first-out, या संक्षेप में LIFO हैं।
आइए ऊपर के समान उदाहरण का उपयोग करें: फिल्म के लिए प्रतीक्षा सूचीबद्ध नाम संग्रहीत करना। सबसे पहले, हम अपना डी क्यू फ़ंक्शन घोषित करेंगे:
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([])
जैसा कि आप देख सकते हैं, हमारा डी क्यू खाली है, लेकिन ऑब्जेक्ट अभी भी मौजूद है।
निष्कर्ष
बस! इस लेख में, हमने चर्चा की है कि क्यू एक प्रकार की डेटा संरचना है जो आपको डेटा संग्रहीत करने के लिए फर्स्ट-इन, फर्स्ट-आउट स्टोरेज दृष्टिकोण अपनाने की अनुमति देती है। क्यू का एक उदाहरण उपयोग नए उत्पाद के लिए प्रतीक्षा सूची रखना होगा।
हमने यह भी चर्चा की कि आप डी क्यू का उपयोग करके डबल-एंडेड क्यू कैसे बना सकते हैं जहां आप अपनी क्यू से तत्व जोड़ और हटा सकते हैं। अब आप अपनी खुद की क्वेरीज़ और डी क्यू लिखना शुरू करने के लिए तैयार हैं!
पायथन का उपयोग विभिन्न पेशेवर प्रोग्रामिंग वातावरणों में किया जाता है। आज ही मुफ्त Career Karma ऐप डाउनलोड करें यह जानने के लिए कि पायथन कैसे आपको टेक में अपने सपनों के करियर में प्रवेश करने में मदद कर सकता है!