इस लेख में, हम पायथन 3.x (या पूर्व संस्करणों) में इटरेरटर्स को लागू करने और उनके प्रभावी कार्यान्वयन के बारे में सीखेंगे। आइए पायथन में उपलब्ध विभिन्न विधियों पर एक नज़र डालें जो इटरेरटर्स को लागू करती हैं।
प्रकार 1 - ज्ञात लंबाई के साथ While लूप का कार्यान्वयन
उदाहरण कोड
genre = ("Python", "C", "C++", "Java")
print("Tutorial's Point पर उपलब्ध विषय हैं:")
i = 0
while (i < len(genre)):
print(genre[i])
i += 1
व्याख्या
इसकी कम कॉम्पैक्ट संरचना के कारण, यह विधि पसंदीदा नहीं है। इस मामले में त्रुटि संचालन भी कठिन है। बड़े पैमाने के प्रोग्राम या डिज़ाइन इस दृष्टिकोण का उपयोग नहीं करते हैं।
आउटपुट
Tutorial's Point पर उपलब्ध विषय हैं: Python C C++ Java
प्रकार 2 - ज्ञात लंबाई के साथ for लूप का कार्यान्वयन
उदाहरण कोड
genre = ("Python", "C", "C++", "Java")
print("Tutorial's Point पर उपलब्ध विषय हैं:")
for i in range(len(genre)):
print(genre[i])
व्याख्या
यह प्रोग्रामर्स द्वारा उपयोग की जाने वाली सबसे पसंदीदा विधि है। यहाँ range() फ़ंक्शन इटरेरटर को इन्क्रीमेंट या डिक्रीमेंट करने के लिए एक माध्यम के रूप में कार्य करता है। डिफ़ॉल्ट रूप से, यह इटरेरटर को 1 से इन्क्रीमेंट करता है। यदि हम इन्क्रीमेंटेशन या डिक्रीमेंटेशन का चरण निर्दिष्ट करते हैं, तो यह प्रदान किए गए चरण मान के अनुसार काम करता है।
आउटपुट
Tutorial's Point पर उपलब्ध विषय हैं: Python C C++ Java
प्रकार 3 - बिना लंबाई के for लूप का कार्यान्वयन
उदाहरण कोड
genre = ("Python", "C", "C++", "Java")
print("Tutorial's Point पर उपलब्ध विषय हैं:")
for i in genre:
print(i)
व्याख्या
यह विधि आमतौर पर रैखिक डेटा संरचनाओं जैसे सूचियों, डिक्शनरी, टपल्स, n-आयामी सरणियों आदि में पसंद की जाती है। इटरेरटर निर्दिष्ट संरचना के प्रत्येक घटक को पार करता है और डेटा को कंसोल पर प्रदर्शित करता है। इस प्रकार में इन्क्रीमेंटेशन स्वचालित है।
आउटपुट
Tutorial's Point पर उपलब्ध विषय हैं: Python C C++ Java
प्रकार 4 - Enumarate डेटा प्रकार के माध्यम से कार्यान्वयन
उदाहरण कोड
genre = ("Python", "C", "C++", "Java")
iterator = enumerate(genre)
print("Tutorial's Point पर उपलब्ध विषय हैं:")
for i, v in iterator:
print(v, end="\t")
व्याख्या
इस मामले में enumerate हमें एक डिक्शनरी बनाने में मदद करता है जिसमें इंडेक्स कुंजी के रूप में कार्य करते हैं और सूची में मान उनके संबंधित मानों के रूप में। यहाँ हमें दो इटरेरटर निर्दिष्ट करने होंगे; एक इंडेक्स के लिए और दूसरा प्रदर्शित किए जाने वाले मान के लिए।
आउटपुट
Tutorial's Point पर उपलब्ध विषय हैं: Python C C++ Java
प्रकार 5 - Zip फ़ंक्शन के माध्यम से कार्यान्वयन
उदाहरण कोड
genre = ("Python", "C", "C++", "Java")
extras = ["C#", "Dart", "Erlang", "Go"]
print("Tutorial's Point पर उपलब्ध विषय हैं:")
for i, j in zip(genre, extras):
print(i, j, sep="\t")
व्याख्या
यहाँ हम दो इटरेरटर की मदद से दो रैखिक डेटा संरचनाओं यानी सूची, सरणी या टपल को निर्दिष्ट करते हैं। ऐसा करने के लिए हम zip फ़ंक्शन की मदद लेते हैं जो विभिन्न परिदृश्यों को संभालते समय बहुत काम आता है। यह छोटी लंबाई वाली डेटा संरचना को लेता है और बड़ी डेटा संरचना की सामग्री को छोड़ देता है।
आउटपुट
Tutorial's Point पर उपलब्ध विषय हैं: Python C# C Dart C++ Erlang Java Go
निष्कर्ष
इस लेख में, हमने पायथन 3.x (या पूर्व संस्करणों) में Stack और Queue डेटा संरचना को लागू करना सीखा। आप किसी अन्य प्रोग्रामिंग भाषा में स्टैक/क्यू डिटेक्टर प्रोग्राम को लागू करने के लिए उसी एल्गोरिदम को लागू कर सकते हैं।