पायथन में एक कंटेनर होता है जिसे डिक्शनरी कहा जाता है। शब्दकोशों में, हम इसके मूल्य के लिए कुंजियों को मैप कर सकते हैं। शब्दकोश का उपयोग करके मूल्यों को निरंतर समय में एक्सेस किया जा सकता है। लेकिन जब दी गई कुंजियाँ मौजूद नहीं होती हैं, तो इसमें कुछ त्रुटियाँ हो सकती हैं।
इस खंड में हम देखेंगे कि इस प्रकार की त्रुटियों से कैसे निपटा जाए। यदि हम गुम चाबियों तक पहुँचने का प्रयास कर रहे हैं, तो यह इस तरह की त्रुटियाँ लौटा सकता है।
उदाहरण कोड
country_dict = {'India' : 'IN', 'Australia' : 'AU', 'Brazil' : 'BR'} print(country_dict['Australia']) print(country_dict['Canada']) # This will return error
आउटपुट
AU --------------------------------------------------------------------------- KeyErrorTraceback (most recent call last) <ipython-input-2-a91092e7ee85> in <module>() 2 3 print(country_dict['Australia']) ----> 4 print(country_dict['Canada'])# This will return error KeyError: 'Canada'
KeyError को संभालने के लिए get() विधि का उपयोग करना
हम चाबियों की जांच के लिए गेट विधि का उपयोग कर सकते हैं। यह विधि दो पैरामीटर लेती है। पहला वाला कुंजी है, और दूसरा डिफ़ॉल्ट मान है। जब कुंजी मिल जाती है, तो यह कुंजी से संबद्ध मान वापस कर देगी, लेकिन जब कुंजी मौजूद नहीं है, तो यह डिफ़ॉल्ट मान लौटा देगी, जिसे दूसरे तर्क के रूप में पारित किया जाता है।
उदाहरण कोड
country_dict = {'India' : 'IN', 'Australia' : 'AU', 'Brazil' : 'BR'} print(country_dict.get('Australia', 'Not Found')) print(country_dict.get('Canada', 'Not Found'))
आउटपुट
AU Not Found
KeyError को संभालने के लिए setdefault() विधि का उपयोग करना
यह सेटडिफॉल्ट () विधि प्राप्त () विधि के समान है। यह दो तर्क भी लेता है जैसे प्राप्त करें ()। पहला वाला कुंजी है और दूसरा डिफ़ॉल्ट मान है। इस पद्धति का एकमात्र अंतर यह है कि जब कोई कुंजी गुम होती है, तो यह डिफ़ॉल्ट मान के साथ नई कुंजियाँ जोड़ देगा।
उदाहरण कोड
country_dict = {'India' : 'IN', 'Australia' : 'AU', 'Brazil' : 'BR'} country_dict.setdefault('Canada', 'Not Present') #Set a default value for Canada print(country_dict['Australia']) print(country_dict['Canada'])
आउटपुट
AU Not Present
डिफ़ॉल्ट डिक्ट का उपयोग करना
डिफॉल्टडिक्ट एक कंटेनर है। यह पायथन में संग्रह मॉड्यूल पर स्थित है। डिफॉल्टडिक्ट डिफ़ॉल्ट फैक्ट्री को अपने तर्क के रूप में लेता है। प्रारंभ में डिफ़ॉल्ट फ़ैक्टरी 0 (पूर्णांक) पर सेट है। जब कोई कुंजी मौजूद नहीं होती है, तो यह डिफ़ॉल्ट फ़ैक्टरी का मान लौटाती है।
हमें विधियों को बार-बार निर्दिष्ट करने की आवश्यकता नहीं है, इसलिए यह शब्दकोश वस्तुओं के लिए तेज़ विधि प्रदान करता है।
उदाहरण कोड
import collections as col #set the default factory with the string 'key not present' country_dict = col.defaultdict(lambda: 'Key Not Present') country_dict['India'] = 'IN' country_dict['Australia'] = 'AU' country_dict['Brazil'] = 'BR' print(country_dict['Australia']) print(country_dict['Canada'])
आउटपुट
AU Key Not Present