पायथन लिस्ट बनाम ट्यूपल्स (उदाहरणों के साथ)

इस लेख में हम सूची और टुपल्स और इन दो डेटा संरचना का उपयोग कैसे करें के बीच महत्वपूर्ण अंतर सीखेंगे।

सूचियाँ और टुपल्स एक विशिष्ट क्रम में एक या अधिक वस्तुओं या मूल्यों को संग्रहीत करते हैं। किसी सूची या ट्यूल में संग्रहित वस्तुएं किसी भी प्रकार की हो सकती हैं, जिसमें कोई भी चीज नहीं है, जिसे कोई भी कीवर्ड द्वारा परिभाषित नहीं किया गया है।

सूचियाँ और टुपल्स अधिकांश संदर्भों में समान हैं लेकिन कुछ अंतर हैं जो हम इस लेख में खोजने जा रहे हैं।

सिंटेक्स अंतर

सूची और ट्यूल का सिंटेक्स थोड़ा अलग है। सूचियाँ चौकोर कोष्ठक ()से घिरी होती हैं और नलिका कोष्ठक से घिरी होती हैं ()

उदाहरण 1.1: सूची बनाना बनाम टपल बनाना

 list_num = (1,2,3,4) tup_num = (1,2,3,4) print(list_num) print(tup_num)

आउटपुट:

 (1,2,3,4) (1,2,3,4)

ऊपर, हमने list_num नामक एक वैरिएबल को परिभाषित किया जो कि से 1लेकर संख्याओं की एक सूची रखता है 4। यह सूची कोष्ठक से घिरी हुई है ()। इसके अलावा, हमने एक वेरिएबल tup_num को परिभाषित किया; जिसमें से संख्या का एक समूह शामिल 1है 4। टूपल को कोष्ठक से घिरा हुआ है ()

अजगर में हमारे पास type()फ़ंक्शन होता है जो बनाई गई वस्तु का प्रकार देता है।

उदाहरण 1.2: प्रकार () फ़ंक्शन का उपयोग करके डेटा संरचना का प्रकार ढूंढें

 type(list_num) type(tup_num)

आउटपुट:

 सूची टपल

म्यूटेबल सूची बनाम अपरिवर्तनीय ट्यूपल्स

सूची में परिवर्तनशील प्रकृति है अर्थात, सूची को जरूरत के अनुसार इसके निर्माण के बाद बदला जा सकता है या संशोधित किया जा सकता है जबकि ट्यूपल में अपरिवर्तनीय प्रकृति है अर्थात, निर्माण के बाद ट्यूपल को बदला या संशोधित नहीं किया जा सकता है।

उदाहरण 2.1: एक आइटम सूची को संशोधित करें। टपल

 list_num(2) = 5 print(list_num) tup_num(2) = 5

आउटपुट:

 (1,2,5,4) ट्रेसबैक (सबसे हालिया कॉल अंतिम): फाइल "पायथन", लाइन 6, टाइप इयर में: 'टपल' ऑब्जेक्ट आइटम असाइनमेंट का समर्थन नहीं करता है

उपरोक्त कोड में हमने 5index में list_num को सौंपा 2और हमने आउटपुट 5में इंडेक्स पर पाया 2। इसके अलावा, हमने 5सूचकांक में tup_num को सौंपा 2और हमें मिला type error। हम इसकी अपरिवर्तनीय प्रकृति के कारण टपल को संशोधित नहीं कर सकते हैं।

नोट: जैसा कि टूपल अपरिवर्तनीय है, ये आकार में तय किए गए हैं और सूची आकार में परिवर्तनशील है।

उपलब्ध संचालन

सूचियों में ट्यूपल की तुलना में अधिक अंतर्निहित कार्य होते हैं। हम dir((object))सूची और ट्यूपल के लिए सभी संबंधित कार्यों को प्राप्त करने के लिए इनबिल्ट फ़ंक्शन का उपयोग कर सकते हैं ।

उदाहरण 3.1: सूची निर्देशिका

 dir(list_num)

आउटपुट:

('__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__','__doc__ ',' __eq__ ',' __format__ ','_______', '______' __gt__ ',' __hash__ ',' __iadd__ ',' __imul__ ',' __init__ ',' __init_subclass__ ',' ______ ',' __le__ ',' __lt__ ',' __lt__ ',' ___ul__ ','_____ ' प्रतिलिपि ',' गणना ',' विस्तार ',' सूचकांक ','डालें ',' पॉप ',' निकालें ',' रिवर्स ',' सॉर्ट ')

उदाहरण 3.2: टपल निर्देशिका

 dir(tup_num)

आउटपुट:

 ('__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eet__', '__format__','______, ', __getattribute__', '____ _ , '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count,' index ')

हम स्पष्ट रूप से देख सकते हैं कि, एक tuple.We पर एक सूची के साथ जुड़े हुए कई अतिरिक्त कार्य हैं। हम इनबिल्ट फ़ंक्शंस के साथ सूची में तत्वों को सम्मिलित और पॉप ऑपरेशन, हटाने और सॉर्ट कर सकते हैं जो कि Tuple में उपलब्ध नहीं है।

आकार तुलना

ट्यूपल्स ऑपरेशन का आकार सूची की तुलना में छोटा होता है, जो इसे थोड़ा तेज़ बनाता है, लेकिन इसका उल्लेख नहीं करता जब तक कि आपके पास भारी संख्या में तत्व न हों।

उदाहरण 5.1: सूची बनाम टपल के आकार की गणना करें

 a= (1,2,3,4,5,6,7,8,9,0) b= (1,2,3,4,5,6,7,8,9,0) print('a=',a.__sizeof__()) print('b=',b.__sizeof__())

आउटपुट:

 ए = 104 बी = 120

ऊपर दिए गए कोड में हमने tuple a और list b को एक ही आइटम के साथ रखा है लेकिन tuple का आकार सूची से कम है।

विभिन्न उपयोग के मामले

पहली नज़र में, ऐसा लग सकता है कि सूचियाँ हमेशा ट्यूपल की जगह ले सकती हैं। लेकिन ट्यूपल बेहद उपयोगी डेटा संरचनाएं हैं

  1. एक सूची के बजाय टपल का उपयोग प्रोग्रामर और दुभाषिया को संकेत दे सकता है कि डेटा को बदला नहीं जाना चाहिए।
  2. Tuples are commonly used as the equivalent of a dictionary without keys to store data. For Example,
     (('Swordfish', 'Dominic Sena', 2001), ('Snowden', ' Oliver Stone', 2016), ('Taxi Driver', 'Martin Scorsese', 1976))
    Above example contains tuples inside list which has a list of movies.
  3. Reading data is simpler when tuples are stored inside a list. For example,
     ((2,4), (5,7), (3,8), (5,9))
    is easier to read than
     ((2,4), (5,7), (3,8), (5,9))

Tuple can also be used as key in dictionary due to their hashable and immutable nature whereas Lists are not used as key in a dictionary because list can’t handle __hash__() and have mutable nature.

 key_val= (('alpha','bravo'):123) #Valid key_val = (('alpha','bravo'):123) #Invalid 

Key points to remember:

  1. The literal syntax of tuples is shown by parentheses () whereas the literal syntax of lists is shown by square brackets () .
  2. सूचियों में परिवर्तनशील लंबाई होती है, टपल की निश्चित लंबाई होती है।
  3. सूची में परस्पर प्रकृति है, टपल में अपरिवर्तनीय प्रकृति है।
  4. टपल की तुलना में सूची में अधिक कार्यक्षमता है।

दिलचस्प लेख...