Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन कतार और डेक:एक चरण-दर-चरण मार्गदर्शिका

पायथन कतार एक अंतर्निहित पुस्तकालय है जो आपको एक सूची बनाने की अनुमति देता है जो फीफो नियम का उपयोग करता है, पहले पहले बाहर। पायथन डेक विपरीत नियम, 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()प्रिंट(प्रतीक्षासूची)

हमारे कोड का परिणाम इस प्रकार है:

डेक([])

जैसा कि आप देख सकते हैं, हमारा डेक खाली है, लेकिन वस्तु अभी भी मौजूद है।

निष्कर्ष

इतना ही! इस लेख में, हमने चर्चा की है कि कैसे क्यू एक प्रकार की डेटा संरचना है जो आपको डेटा संग्रहीत करने के लिए एक फर्स्ट-इन, फर्स्ट-आउट स्टोरेज दृष्टिकोण अपनाने की अनुमति देती है। कतार का एक उदाहरण एक नए उत्पाद के लिए प्रतीक्षा सूची रखना होगा।

हमने यह भी चर्चा की कि आप एक डबल-एंडेड कतार बनाने के लिए डेक का उपयोग कैसे कर सकते हैं जहां आप अपनी कतार से तत्वों को जोड़ और हटा सकते हैं। अब आप अपने स्वयं के प्रश्न और प्रश्न लिखना शुरू करने के लिए तैयार हैं!

पायथन का प्रयोग विभिन्न प्रकार के पेशेवर प्रोग्रामिंग वातावरणों में किया जाता है। डाउनलोड करें मुफ्त करियर कर्म ऐप आज यह जानने के लिए कि कैसे पाइथॉन तकनीक के क्षेत्र में आपके सपनों के कैरियर में प्रवेश करने में आपकी मदद कर सकता है!


  1. पायथन दुभाषिए:एक चरण-दर-चरण मार्गदर्शिका

    पायथन सीखने के लिए सुपर सुलभ है क्योंकि पायथन दुभाषिए ऑनलाइन मौजूद हैं, यह सुनिश्चित किए बिना कि आपके पास अपनी मशीन पर पायथन का सही संस्करण स्थापित है। इस लेख में, हम बात करते हैं कि पायथन इंटरप्रेटर क्या है और ऑनलाइन उपयोग के लिए उपलब्ध कुछ अधिक लोकप्रिय, शुरुआती-अनुकूल दुभाषियों की सूची बनाएं।

  1. पायथन का नाम बदलें फ़ाइल:एक चरण-दर-चरण मार्गदर्शिका

    पायथन os.rename() विधि फ़ाइल का नाम बदल देती है। os.rename() दो तर्कों को स्वीकार करता है:पुरानी फ़ाइल का पथ और नई फ़ाइल का पथ। नया फ़ाइल पथ किसी भिन्न फ़ाइल नाम में समाप्त होना चाहिए। जब आप पायथन में फाइलों के साथ काम कर रहे होते हैं, तो आप यह तय कर सकते हैं कि आप किसी विशेष फाइल का नाम बदलना चा

  1. पायथन में चाबियां और कमरे

    मान लीजिए कि हमारे पास N कमरे हैं और हम कमरा 0 से शुरू करते हैं। प्रत्येक कमरे में 0, 1, 2, ..., N-1 में एक अलग संख्या मौजूद है, और प्रत्येक कमरा हो सकता है अगले कमरे में जाने के लिए कुछ चाबियां हैं। तो दूसरे शब्दों में, प्रत्येक कमरे में मेरे पास चाबियों के कमरे की एक सूची है [i], और प्रत्येक कुंजी