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

पायथन स्टैक:ए हाउ-टू गाइड

ढेर उपयोग की एक विस्तृत श्रृंखला के साथ एक महत्वपूर्ण डेटा संरचना है।

प्रोग्रामिंग में, स्टैक आपको डेटा को लास्ट-इन, फर्स्ट-आउट (LIFO) ऑर्डर में स्टोर करने की अनुमति देता है। इसका मतलब यह है कि स्टैक में संग्रहीत अंतिम आइटम वह पहला है जिसे संसाधित किया जाएगा।

लेकिन आप पायथन में एक स्टैक कैसे बनाते हैं? यही वह प्रश्न है जिसका उत्तर हम इस गाइड में देने जा रहे हैं। इस गाइड को पढ़ने के अंत तक, आप पायथन में स्टैक बनाने और काम करने के विशेषज्ञ होंगे।

पायथन स्टैक

स्टैक डेटा को लास्ट-इन, फ़र्स्ट-आउट (LIFO) क्रम में संग्रहीत करता है।

यह आदेश कैसे काम करता है, यह समझने में आपकी सहायता के लिए, प्लेटों के ढेर पर विचार करें। जब आपके पास साफ करने के लिए प्लेटों का ढेर होता है, तो आप जिस पहली प्लेट को हिलाते हैं, वह सबसे ऊपर वाली प्लेट होती है। फिर, जैसे ही आप प्लेट्स को हिलाते हैं, आप स्टैक में नीचे वाली प्लेट्स तक पहुँचने में सक्षम होंगे।

स्टैक पायथन में कतारों के विपरीत हैं। कतारें कम से कम हाल ही में जोड़े गए आइटम को हटा देती हैं (क्योंकि वे पहले-इन, फ़र्स्ट-आउट संरचना का उपयोग करते हैं), जबकि स्टैक सबसे हाल ही में जोड़े गए आइटम को हटाते हैं (क्योंकि वे अंतिम-इन, फ़र्स्ट-आउट संरचना का उपयोग करते हैं)।

स्टैक आमतौर पर दो ऑपरेशनों का समर्थन करते हैं:पुश और पॉप। पुश करने से आप किसी आइटम को स्टैक के शीर्ष पर जोड़ सकते हैं, और पॉपिंग आपको स्टैक के शीर्ष पर आइटम को निकालने की अनुमति देता है।

पायथन में, दो मुख्य तरीके हैं जिनका उपयोग आप एक स्टैक बनाने के लिए कर सकते हैं:बिल्ट-इन सूचियों का उपयोग करना, और collections.deque() का उपयोग करना। कक्षा। आइए देखें कि इनमें से प्रत्येक दृष्टिकोण कैसे काम करता है।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

पायथन बिल्ट-इन सूचियां

अंतर्निहित सूची डेटा प्रकार आपको पायथन में एक स्टैक बनाने की अनुमति देता है।

चूंकि पायथन सूचियों को सरणियों के रूप में लागू किया जाता है, इसलिए आप उनमें आइटम आसानी से जोड़ और हटा सकते हैं। इसके अलावा, जिस क्रम में आप किसी सूची में मान सम्मिलित करते हैं, उसे संरक्षित रखा जाएगा, जिसका अर्थ है कि आप सूची में पहले और अंतिम आइटम को आसानी से हटा सकते हैं।

मान लीजिए कि हम एक स्टैक बनाना चाहते हैं जो एक कक्षा में होमवर्क असाइनमेंट की एक सूची संग्रहीत करता है। शिक्षक इन असाइनमेंट को उसी क्रम में ग्रेड देना चाहता है जिस क्रम में वे ढेर में दिखाई देते हैं (इसलिए, पहले दिया गया असाइनमेंट स्टैक के नीचे होगा, और अंतिम असाइनमेंट स्टैक के शीर्ष पर होगा)।

स्टैक में आइटम जोड़ें

स्टैक में आइटम जोड़ने के लिए, हम append() . का उपयोग कर सकते हैं तरीका। हम निम्नलिखित कोड का उपयोग करके अपना होमवर्क असाइनमेंट स्टैक बना सकते हैं:

<पूर्व>असाइनमेंट =[]असाइनमेंट.एपेंड ("हन्ना")असाइनमेंट।एपेंड ("बेनी")असाइनमेंट।एपेंड ("गॉर्डन")प्रिंट (असाइनमेंट)

हमारा कोड लौटाता है:

['हन्ना', 'बेनी', 'गॉर्डन']

हमारे कोड में, हम सबसे पहले assignments . नामक एक सूची घोषित करते हैं . फिर, हम append() . का उपयोग करते हैं सौंपे गए कार्यों की हमारी सूची में तीन नाम जोड़ने की विधि। हम जो नाम जोड़ते हैं, वे क्रम में हैं:हन्ना, बेनी, गॉर्डन। क्योंकि गॉर्डन ने अपना कार्य अंतिम रूप से सौंपा था, यह हमारी सूची में अंतिम स्थान पर दिखाई देता है।

स्टैक से आइटम हटाएं

मान लीजिए कि हमने गॉर्डन के असाइनमेंट को ग्रेड दिया है, और हम यह पता लगाना चाहते हैं कि ग्रेड के आगे कौन सा है। इसमें हमारे स्टैक के शीर्ष पर आइटम को हटाना शामिल है।

हमारे स्टैक से किसी आइटम को हटाने के लिए, हम pop() . का उपयोग कर सकते हैं तरीका। यहां वह कोड है जिसका उपयोग हम अपने स्टैक पर शीर्ष आइटम को निकालने के लिए कर सकते हैं:

असाइनमेंट =[]assignments.append("Hannah")assignments.append("Benny")assignments.append("Gordon")assignments.pop()print(assignments)

हमारा कोड लौटाता है:

['हन्ना','बेनी']

pop() . का उपयोग करके गॉर्डन का नाम स्टैक से हटा दिया गया है , और इसलिए हमारे स्टैक में अब केवल दो नाम हैं:हन्ना और बेनी।

Collections.deque क्लास

संग्रह पुस्तकालय में डेक वर्ग आपको एक डबल-एंडेड कतार बनाने की अनुमति देता है।

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

collections.deque . के साथ काम करने के लिए वर्ग, हमें पहले इसे आयात विवरण का उपयोग करके अपने कोड में आयात करना होगा:

संग्रह से आयात डेक

संग्रह.डेक वर्ग कैसे काम करता है, यह स्पष्ट करने के लिए आइए पहले के अपने गृहकार्य उदाहरण पर वापस आते हैं।

एक डेक स्टैक में आइटम जोड़ें

एक डेक स्टैक में आइटम जोड़ने के लिए, हम append() . का उपयोग कर सकते हैं तरीका। मान लीजिए कि हम डेक क्लास का उपयोग करके अपने होमवर्क असाइनमेंट के साथ एक कतार बनाना चाहते हैं। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:

संग्रह से

हमारा कोड लौटाता है:

deque(['Hannah','Benny','Gordon'])

आइए हमारे कोड को तोड़ दें। सबसे पहले, हम संग्रह पुस्तकालय से डेक वर्ग आयात करते हैं। फिर, हम deque() . का उपयोग करके एक deque बनाते हैं और इसे वेरिएबल assignments . को असाइन करें .

इसके बाद, हम अपने असाइनमेंट डेक में तीन नाम जोड़ते हैं:हन्ना, बेनी और गॉर्डन। अंत में, हम अपने असाइनमेंट कतार की सामग्री को कंसोल पर प्रिंट करते हैं।

आप देख सकते हैं कि, इस उदाहरण में, हमारे डेटा को स्टैक के बजाय एक डेक के रूप में संग्रहीत किया जाता है (इस तथ्य से दर्शाया जाता है कि हमारा परिणाम deque() में संलग्न है। ) ऐसा इसलिए है क्योंकि हम डेक संरचना का उपयोग कर रहे हैं, भले ही हमारा डेटा अभी भी एक स्टैक की तरह काम करता है।

एक डेक स्टैक से आइटम निकालें

डेक स्टैक से आइटम निकालने के लिए, आप pop() . का उपयोग कर सकते हैं तरीका।

मान लीजिए कि हमने गॉर्डन और बेनी के असाइनमेंट को अभी-अभी वर्गीकृत किया है। उन्हें अपने स्टैक से हटाने के लिए, हम निम्नलिखित कोड का उपयोग कर सकते हैं:

संग्रह से /पूर्व>

हमारा कोड लौटाता है:

deque(['Hannah'])

हमारे कोड में, हम पहले तीन मानों के साथ एक डेक स्टैक बनाते हैं। फिर, हम pop() . निष्पादित करते हैं दो बार बयान। हर बार pop() स्टेटमेंट चलता है, हमारे स्टैक के शीर्ष पर स्थित आइटम हटा दिया जाता है। इसका मतलब यह है कि गॉर्डन और फिर बेनी को हमारे स्टैक से हटा दिया जाता है, जिससे हन्ना हमारे स्टैक में एकमात्र आइटम बचा रहता है।

Python deque क्लास के बारे में अधिक जानने के लिए, Python क्यू और deques पर हमारा ट्यूटोरियल पढ़ें।

निष्कर्ष

स्टैक आपको डेटा को लास्ट-इन, फर्स्ट-आउट ऑर्डर में स्टोर करने की अनुमति देता है। पायथन में एक स्टैक को लागू करने के कई तरीके हैं, लेकिन दो सबसे व्यावहारिक दृष्टिकोण हैं पायथन की अंतर्निहित सूची संरचना का उपयोग करना, या collections.deque() का उपयोग करना। कक्षा।

इस ट्यूटोरियल में उदाहरणों के संदर्भ में, सूचियों और collections.deque() का उपयोग करके पायथन में एक स्टैक कैसे बनाया जाए, इस पर चर्चा की गई। . अब आप एक पेशेवर पायथन डेवलपर की तरह अपना खुद का स्टैक बनाना शुरू करने के लिए तैयार हैं!


  1. पायथन हैलो वर्ल्ड:ए हाउ-टू गाइड

    पायथन हैलो वर्ल्ड प्रोग्राम आमतौर पर पहला प्रोग्राम होता है जिसे कोडर पायथन में लिखेगा। यह प्रोग्राम पायथन कंसोल पर एक स्ट्रिंग प्रदर्शित करने के लिए एक प्रिंट स्टेटमेंट का उपयोग करता है। कार्यक्रम इस तरह दिखता है:प्रिंट (हैलो वर्ल्ड)। यह सुनिश्चित करने के लिए कि आपका पायथन संस्करण काम करता है, सब

  1. पायथन में बेसिक कैलकुलेटर II

    मान लीजिए कि हमें एक साधारण व्यंजक स्ट्रिंग का मूल्यांकन करने के लिए एक बुनियादी कैलकुलेटर लागू करना है। एक्सप्रेशन स्ट्रिंग में केवल गैर-ऋणात्मक पूर्णांक होंगे, कुछ ऑपरेटर जैसे, +, -, *, / और रिक्त स्थान। पूर्णांक भाग को केवल भागफल भाग लेना चाहिए। तो अगर इनपुट “3+2*2” जैसा है, तो आउटपुट 7 होगा। इ

  1. पायथन में अंतराल मर्ज करें

    मान लीजिए कि हमारे पास अंतरालों का एक संग्रह है, हमें सभी अतिव्यापी अंतरालों को मिलाना होगा। तो अगर अंतराल [[1,3], [2,6], [8,10], [15,18]] जैसे हैं, तो विलय के बाद अंतराल [[1,6], [8,10 होगा। ], [15,18]]। ऐसा इसलिए है क्योंकि दो अंतराल थे जो अतिव्यापी हैं, अंतराल [1,3] और [2,6] हैं, इन्हें [1,6] में