Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन डिक्शनरी में अनुपस्थित कुंजियों को संभालना


पायथन में एक कंटेनर होता है जिसे डिक्शनरी कहा जाता है। डिक्शनरी में, हम कुंजियों को उनके मान से मैप कर सकते हैं। डिक्शनरी का उपयोग करके मानों को निरंतर समय में एक्सेस किया जा सकता है। लेकिन जब दी गई कुंजियाँ मौजूद नहीं होती हैं, तो यह कुछ त्रुटियाँ उत्पन्न कर सकती हैं।

इस खंड में हम देखेंगे कि इस तरह की त्रुटियों को कैसे संभालें। यदि हम अनुपस्थित कुंजियों को एक्सेस करने का प्रयास कर रहे हैं, तो यह इस तरह त्रुटियाँ लौटा सकता है।

उदाहरण कोड

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

  1. पायथन में पैटर्न कैसे प्रिंट करें पायथन में पैटर्न कैसे प्रिंट करें

    पायथन में पैटर्न्स को नेस्टेड फॉर लूप्स का उपयोग करके प्रिंट किया जा सकता है। बाहरी लूप का उपयोग पंक्तियों की संख्या के माध्यम से इटरेट करने के लिए किया जाता है जबकि आंतरिक लूप का उपयोग स्तंभों की संख्या को संभालने के लिए किया जाता है। प्रिंट स्टेटमेंट को आवश्यकतानुसार विभिन्न पैटर्न बनाने के लिए मॉ

  1. - Python में Dictionary के सभी Keys कैसे Print करें?

    Dictionary के सभी Keys प्राप्त करना Dictionary Object में keys() Method होता है जो इस कार्य को हमारे लिए करता है। keys() Method का उपयोग >>> D1 = {1:a, 2:b, 3:c} >>> D1.keys() dict_keys([1, 2, 3]) >>> list(D1.keys()) [1, 2, 3] Iterable List Object को Traverse करना Itera

  1. - Python डिक्शनरी में महारत: की-वैल्यू मैप्स को कुशलतापूर्वक बनाएं, एक्सेस करें और उपयोग करें

    डिक्शनरीज Python में हम जिस मुख्य मैपिंग टाइप का उपयोग करेंगे। यह ऑब्जेक्ट Java में Map के समान है। Python में, हम कर्ली ब्रेसेस {} का उपयोग करके डिक्शनरी लिटरल्स बनाते हैं, keys को values से कोलन : का उपयोग करके अलग करते हैं, और key/value पेयर्स को कॉमा , का उपयोग करके अलग करते हैं। डिक्शनरी कैसे ब