पायथन में एक कंटेनर होता है जिसे डिक्शनरी कहा जाता है। डिक्शनरी में, हम कुंजियों को उनके मान से मैप कर सकते हैं। डिक्शनरी का उपयोग करके मानों को निरंतर समय में एक्सेस किया जा सकता है। लेकिन जब दी गई कुंजियाँ मौजूद नहीं होती हैं, तो यह कुछ त्रुटियाँ उत्पन्न कर सकती हैं।
इस खंड में हम देखेंगे कि इस तरह की त्रुटियों को कैसे संभालें। यदि हम अनुपस्थित कुंजियों को एक्सेस करने का प्रयास कर रहे हैं, तो यह इस तरह त्रुटियाँ लौटा सकता है।
उदाहरण कोड
country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'}
print(country_dict['Australia'])
print(country_dict['Canada']) # यह त्रुटि लौटाएगा
आउटपुट
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() मेथड का उपयोग
हम कुंजियों की जांच के लिए 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() मेथड का उपयोग
यह setdefault() मेथड get() मेथड के समान है। यह भी get() की तरह दो तर्क लेता है। पहला कुंजी है और दूसरा डिफ़ॉल्ट मान है। इस मेथड का एकमात्र अंतर यह है, जब एक अनुपस्थित कुंजी होती है, तो यह डिफ़ॉल्ट मान के साथ नई कुंजियाँ जोड़ देगा।
उदाहरण कोड
country_dict = {'India': 'IN', 'Australia': 'AU', 'Brazil': 'BR'}
country_dict.setdefault('Canada', 'Not Present') # कनाडा के लिए डिफ़ॉल्ट मान सेट करें
print(country_dict['Australia'])
print(country_dict['Canada'])
आउटपुट
AU Not Present
defaultdict का उपयोग
defaultdict एक कंटेनर है। यह पायथन में collections मॉड्यूल में स्थित है। defaultdict अपने तर्क के रूप में डिफ़ॉल्ट फैक्टरी लेता है। प्रारंभ में डिफ़ॉल्ट फैक्टरी 0 (पूर्णांक) पर सेट होती है। जब एक कुंजी मौजूद नहीं होती, तो यह डिफ़ॉल्ट फैक्टरी का मान लौटाता है।
हमें बार-बार मेथड निर्दिष्ट करने की आवश्यकता नहीं है, इसलिए यह डिक्शनरी ऑब्जेक्ट्स के लिए तेज़ विधि प्रदान करता है।
उदाहरण कोड
import collections as col # डिफ़ॉल्ट फैक्टरी को स्ट्रिंग '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