जब हम डेटा संरचनाओं के बारे में बात करते हैं, तो इसकी अवधारणा टपल. गणित, प्रोग्रामिंग और डेटाबेस में व्यापक रूप से उपयोग किया जाने वाला यह शब्द यह समझने की कुंजी है कि आधुनिक भाषाएँ सूचना के समूहों को कैसे प्रबंधित करती हैं। इस लेख में हम गहराई से जानेंगे कि टुपल क्या है, इसकी विशेषताएं क्या हैं और इनका उपयोग विभिन्न प्रोग्रामिंग भाषाओं जैसे कि पायथन, विज़ुअल बेसिक और यहां तक कि रिलेशनल डेटाबेस में कैसे किया जाता है।
एक टुपल, संक्षेप में, एक है मूल्यों का क्रमबद्ध क्रम. हालाँकि, अन्य प्रकार के संग्रहों जैसे कि सूचियों के विपरीत, इसमें एक ख़ासियत है जो इसे कुछ परिदृश्यों में काफी उपयोगी बनाती है: इसका अचल स्थिति. इसका मतलब यह है कि, एक बार बनने के बाद, टुपल को बनाने वाले तत्वों को बदला नहीं जा सकता है। यह सुविधा विशेष रूप से तब प्रभावी होती है जब हम यह सुनिश्चित करना चाहते हैं कि डेटा गलती से या जानबूझकर नहीं बदला जाए। लेकिन इसके उपयोग और विशेषताओं पर गौर करने से पहले, इसकी उत्पत्ति और इसकी शब्दावली के कारण को समझना उपयोगी है।
टुपल्स की उत्पत्ति और सामान्यीकरण
अवधि टपल जैसे शब्दों के गणितीय सामान्यीकरण से निकला है जोड़ी (दो तत्व), ट्रिपल (तीन तत्व), इत्यादि। वहां से, यह स्थापित किया गया कि का एक क्रम n तत्वों (n एक पूर्णांक होने के नाते) को a कहा जाता है एन टपल, आंकड़ों या डेटा को समूहीकृत करने के एक तरीके के रूप में। यह नाम प्रोग्रामिंग और गणित में इसके उपयोग के लिए बढ़ाया गया था, क्योंकि टुपल्स सीमित संख्या में तत्वों के साथ काम करने की अनुमति देते हैं, जिससे उनका रखरखाव होता है क्रम और संरचना.
गणित में, टुपल्स उन्हें क्रमित जोड़े के विस्तार के रूप में भी देखा जा सकता है, जहां इनपुट के एक सेट को समूहन की विभिन्न परतों द्वारा परिभाषित किया जा सकता है। इस प्रकार, ए एन टपल दो से अधिक तत्वों के साथ इसे इसकी पहली प्रविष्टि की एक क्रमबद्ध जोड़ी और बाकी प्रविष्टियों वाले उप-टुपल के रूप में दर्शाया जा सकता है। संगठन के इस विचार को प्रोग्रामिंग की दुनिया में स्थानांतरित कर दिया गया है, जहां टुपल्स वे अत्यंत शक्तिशाली और लचीले उपकरण हैं।
टुपल्स की मुख्य विशेषताएं
लास टुपल्स उन्हें विशेषताओं की एक श्रृंखला द्वारा परिभाषित किया गया है जो उन्हें अन्य डेटा संरचनाओं की तुलना में अद्वितीय बनाती है:
- अपरिवर्तनीयता: एक बार बनने के बाद, टुपल के तत्वों को संशोधित करना संभव नहीं है। इसका मतलब यह है कि हम टुपल के भीतर किसी विशिष्ट स्थिति के लिए मान को पुन: असाइन नहीं कर सकते हैं। उदाहरण के लिए, यदि किसी टुपल के पहले तत्व में मान 3 है, तो यह अपने पूरे जीवनकाल में उस मान को बनाए रखेगा।
- आदेश: टुपल में तत्वों को एक विशिष्ट क्रम में संग्रहीत किया जाता है। सेट जैसे कई अन्य संग्रहों के विपरीत, तत्वों को दर्ज करने का क्रम यादृच्छिक नहीं है। ऑर्डर महत्वपूर्ण है और जब भी हम टुपल के साथ बातचीत करेंगे तो इसका सम्मान किया जाएगा।
- अलग - अलग प्रकार: अन्य डेटा प्रकारों जैसे सरणियों के विपरीत, टुपल्स में विभिन्न प्रकार के तत्व हो सकते हैं। टुपल के लिए पूर्णांक, स्ट्रिंग और बूलियन दोनों को शामिल करना पूरी तरह से स्वीकार्य है।
- अनुक्रमणिका के माध्यम से पहुंच: सूचियों की तरह, टुपल्स इंडेक्स के माध्यम से अपने व्यक्तिगत तत्वों तक पहुंच की अनुमति देते हैं। ये सूचकांक आम तौर पर संख्या 0 से शुरू होते हैं। इसके अलावा, चूंकि टुपल्स हैं तुलनीय, उनके तत्वों के मूल्य के आधार पर उनके बीच संबंधों को सत्यापित करना संभव है।
ये विशेषताएँ बनाती हैं टुपल्स वे उन स्थितियों के लिए आदर्श हैं जहां हमें विषम डेटा को समूहीकृत करने और यह सुनिश्चित करने की आवश्यकता होती है कि यह किसी प्रोग्राम के निष्पादन के दौरान गलती से नहीं बदलता है। उदाहरण के लिए, एक विमान में निर्देशांक (x, y) को संग्रहीत करने के लिए एक टपल उपयुक्त विकल्प होगा, क्योंकि परिभाषित होने के बाद उन मानों में भिन्नता नहीं होनी चाहिए।
प्रोग्रामिंग भाषाओं में टुपल्स का उपयोग
पायथन में टुपल्स
पायथन में, टुपल्स वे एक बहुत ही बहुमुखी और व्यापक रूप से उपयोग की जाने वाली डेटा संरचना हैं। उन्हें कोष्ठक का उपयोग करके परिभाषित किया गया है ()
और तत्वों को अल्पविराम से अलग करना। पायथन में टुपल्स की एक ख़ासियत यह है कि, उनकी अपरिवर्तनीयता के अलावा, उनमें विभिन्न प्रकार के तत्व शामिल हो सकते हैं:
>>> t = (1, 'dos', 3)
इस उदाहरण में, हमारे पास एक टपल तीन तत्वों के साथ: एक पूर्णांक, एक टेक्स्ट स्ट्रिंग और दूसरा पूर्णांक। यदि हम इसके किसी तत्व को संशोधित करने का प्रयास करते हैं, जैसे कि पहले नंबर का मान पुन: निर्दिष्ट करना, तो पायथन एक त्रुटि लौटाएगा:
>>> t[0] = 'uno'Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment
जब हम अपने डेटा को आकस्मिक संशोधनों से सुरक्षित रखना चाहते हैं तो टुपल्स को संशोधित करने की असंभवता उन्हें बहुत उपयोगी तत्व बनाती है।
पायथन में टुपल्स के साथ संचालन
कुछ ऑपरेशन जो हम पायथन में टुपल्स के साथ कर सकते हैं, वे उन ऑपरेशनों के समान हैं जो हम सूचियों के साथ कर सकते हैं:
- अनुक्रमणिका के माध्यम से पहुंच: हम इसके संबंधित सूचकांक का उपयोग करके टुपल के तत्वों तक पहुंच सकते हैं। जैसा कि पहले ही उल्लेख किया गया है, सूचकांक पायथन में वे 0 से शुरू होते हैं।
- टुकड़ा करना या टुकड़ा करना: विधि का उपयोग करके टुपल के कुछ हिस्सों को निकालना संभव है टुकड़ा. उदाहरण के लिए, हम पहले बनाए गए टपल की स्थिति 1 और 2 में तत्वों के साथ एक उप-टुपल प्राप्त कर सकते हैं:
>>> t[1:3]
परिणाम तत्वों के साथ एक नया टुपल होगा:
('दो', 3)
टपल हेरफेर: हालाँकि टुपल्स अपरिवर्तनीय हैं और हम उनके तत्वों को सीधे नहीं बदल सकते हैं, टुपल्स को एक नए वेरिएबल में पुन: असाइन करना या एक नया बनाने के लिए कई टुपल्स को संयोजित करना संभव है। उदाहरण के लिए, हम ऑपरेटर का उपयोग करके दो टुपल्स जोड़ सकते हैं +
:
>>> t = (1, 2) + (3, 4)>>> t(1, 2, 3, 4)
रिलेशनल डेटाबेस में टुपल्स
डेटाबेस के क्षेत्र में, ए टपल रिलेशनल डेटाबेस तालिका में एक पंक्ति है। तालिका के प्रत्येक कॉलम में टुपल से संबंधित एक मान होता है।
उदाहरण के लिए, एक वीडियो गेम प्लेयर तालिका में, प्रत्येक पंक्ति निम्नलिखित संरचना के साथ एक टुपल का प्रतिनिधित्व कर सकती है:
(Jugador: 'Luis', Puntuación: 25)
यहां, टुपल में दो मान हैं: खिलाड़ी का नाम और उसका स्कोर। इस संदर्भ में, टुपल्स बहुत उपयोगी हैं क्योंकि वे विभिन्न प्रकार के डेटा (जैसे स्ट्रिंग और पूर्णांक, जैसा कि हमने देखा है) को सुसंगत तरीके से जोड़ने की अनुमति देते हैं।
उन्नत टपल उदाहरण
कुछ प्रोग्रामिंग भाषाओं में, जैसे Visual Basic के, टुपल्स को कोष्ठक और अल्पविराम से अलग किए गए मानों के सेट का उपयोग करके आसानी से बनाया जा सकता है। इसके अतिरिक्त, विज़ुअल बेसिक इसके उपयोग की अनुमति देता है नामांकित टुपल्स, जो हमें टुपल के भीतर प्रत्येक तत्व को नाम निर्दिष्ट करने की सुविधा देता है।
उदाहरण के लिए, ए दो तत्व टुपल एक बूलियन मान और एक टेक्स्ट स्ट्रिंग हो सकता है:
Dim holiday = (#07/04/2017#, "Independence Day", True)
इस मामले में, एक तीन-तत्व टपल बनाया गया है जहां पहला एक तारीख है, दूसरा एक स्ट्रिंग है, और तीसरा एक बूलियन मान है।
टुपल्स और उनकी दक्षता
ध्यान में रखने योग्य एक और पहलू यह है कि टुपल्स, अपरिवर्तनीय होने के कारण, सूचियों की तुलना में समय और स्मृति के मामले में अपेक्षाकृत अधिक कुशल हैं। ऐसा इसलिए है, क्योंकि अपरिवर्तित होने के कारण, प्रोग्रामिंग भाषा को अपनी आंतरिक संरचना को उसी तरह प्रबंधित करने की आवश्यकता नहीं होती है, जैसे वह एक परिवर्तनशील सूची के साथ करती है। यही कारण है कि जब अधिक दक्षता की आवश्यकता होती है या जब डेटा को संशोधित नहीं किया जाएगा तो टुपल्स को प्राथमिकता दी जाती है।
सूचियों और टुपल्स के बीच कनवर्ट करना
अंततः, कई प्रोग्रामिंग भाषाओं में किसी सूची को एक में बदलना संभव है टपल और इसके विपरीत। पायथन में, यह पूर्वनिर्धारित फ़ंक्शंस का उपयोग करके आसानी से किया जा सकता है टपल () y सूची().
>>> l = [1, 2, 3]>>> t = tuple(l)>>> t(1, 2, 3)
इसी प्रकार, हम टुपल को एक सूची में बदल सकते हैं:
>>> t = (1, 2, 3)>>> l = list(t)>>> l[1, 2, 3]
यह लचीलापन हमें प्रोग्राम की आवश्यकताओं के अनुसार, प्रत्येक मामले में सबसे उपयुक्त डेटा संरचना का उपयोग करने की अनुमति देता है।
संक्षेप में, टुपल्स वे प्रोग्रामिंग और जटिल डेटा को संभालने में एक आवश्यक उपकरण हैं। उनकी अपरिवर्तनीयता और विषम डेटा को समूहित करने की क्षमता के लिए धन्यवाद, वे एल्गोरिदम अनुकूलन से लेकर संबंधपरक डेटाबेस में डेटा प्रतिनिधित्व तक, विभिन्न संदर्भों में एक अत्यंत उपयोगी संरचना हैं। यदि आपको ऐसे डेटा प्रकार की आवश्यकता है जो आपके प्रोग्राम के निष्पादन के दौरान अपरिवर्तित रहे, तो टपल एक उत्कृष्ट विकल्प है।