What is the difference between lists and tuples in Python? -
कौन सा अधिक कुशल है? प्रत्येक के विशिष्ट उपयोग क्या है?
सूचियां अस्थायी अनुक्रम हैं, जिसमें बहुत से और कई तरीकों (दोनों उत्परिवर्तित और गैर-उत्परिवर्तन वाले लोगों), जिन्हें अक्सर सामान्य प्रयोजन के कंटेनरों के रूप में उपयोग किया जाता है (उनकी वस्तुएँ किसी भी प्रकार के ऑब्जेक्ट हो सकते हैं, हालांकि कभी-कभी सूचियों के लिए बेहतर शैली माना जाता है ताकि ऐसी वस्तुओं या प्रकार के आइटम हों समतुल्य रूप में प्रयोग किया जाता)।
tuples, अपरिवर्तनीय दृश्यों रहे हैं बहुत कुछ तरीकों (सभी गैर-परिवर्तनशील विशेष वाले), कि सबसे अधिक बार उपयोग किया जाता है जब आप एक में एक आइटम के रूप में एक कंटेनर का उपयोग कर के प्रयोजन के लिए अचल स्थिति की जरूरत के साथ सेट या एक डिक्शनरी में एक कुंजी (हालांकि आइटम को अपरिवर्तनीय होना चाहिए - उदाहरण के लिए स्ट्रिंग्स, नंबर या अन्य नेस्टेड ट्यूपल्स, इसके लिए काम करना है)। उनके आइटम किसी भी प्रकार के ऑब्जेक्ट्स हो सकते हैं और ट्यूपल्स के कई अलग-अलग और अलग-अलग प्रकार के मदों के लिए यह पूरी तरह से सामान्य है।
कुछ मामलों में या तो एक ट्यूपल या एक सूची बस के रूप में काम करती है ठीक है, और इस तरह के कुछ मामलों में यह तथ्य है कि ट्यूप्ले छोटे और तेज बनाने के लिए ट्यूपले के पक्ष में फैसला लेने के लिए इस्तेमाल किया जा सकता है। उदाहरण के लिए, जब एक फ़ंक्शन को एकाधिक परिणाम वापस करने की आवश्यकता होती है, तो
रिटर्न फीस, फ़ी, फू, फम
का उपयोग करने के लिए सबसे सामान्य है
यानी, चार मदों के साथ एक सूची वापस करें
वापसी [शुल्क, फाई, फू, फम]
के बजाय, - इसके अलावा (छोटे लाभ) प्रदर्शन के साथ, "रिटर्न ए टुपल" सामान्य मुहावरे भी उस मुद्दे से संबंधित होता है, जो अक्सर कई परिणामों को लौटते हैं, वही और न ही विनिमेय प्रकार के नहीं , इसलिए, स्टाइलिस्टिक रूप से बोलने वाले , एक सूची का उपयोग कर वैसे भी एक और अधिक संदिग्ध विकल्प माना जा सकता है।
<कोड> टपल की एक उपयोगी संस्करण अपने उप-प्रकार (की आवश्यकता है अजगर 2.6 या बेहतर) आप से आइटम का उपयोग जो देता है नाम (विशेषता वाक्यविन्यास के साथ) साथ ही इंडेक्स द्वारा (सामान्य तरीका) उदाहरण के लिए, मॉड्यूल के शीर्ष पर एक आयात संग्रह
के साथ, ऊपर return
कथन हो सकता है ...
freturn = संग्रह .namedtuple ( 'freturn', 'शुल्क छी foo Fum') डीईएफ़ च (): (शुल्क, छी, foo, Fum) ... freturn लौट
अब, के फोन करने वाले < कोड> एफ () इसके रिटर्न वैल्यू को ट्यूपल के रूप में इस्तेमाल कर सकता है, जैसा कि पहले भी था, लेकिन जैसे अच्छा विकल्प मिलेगा ...:
r = f () print r .fie
कम तत्काल स्पष्ट और पठनीय के बजाय
प्रिंट आर [1]
यह महत्वपूर्ण है ध्यान दें कि किसी नामित टपल उपवर्ग के साथ बनाया collections.namedtuple
है अनिवार्य रूप से बिना किसी अतिरिक्त भूमि के ऊपर एक टपल सीधे का उपयोग कर, या, के रूप में डॉक्स डाल के साथ तुलना में,
वे हल्के होते हैं और नियमित ट्यूपल्स की तुलना में अधिक स्मृति की आवश्यकता नहीं होती है।
Comments
Post a Comment