पायथन शब्दकोशों में लापता कुंजियों को संभालना

| | | | | | | | | | | | | | | | | | | |

# डिक्शनरी दिखाने के लिए Python code और
# गायब वैल्यू एरर


# डिक्शनरी को इनिशियलाइज़ करना

d कोड> <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> { <कोड वर्ग = "स्ट्रिंग"> `ए` <कोड वर्ग = "सादा" >: <कोड वर्ग = "मान"> 1 <कोड वर्ग = "सादा">, <कोड वर्ग = "स्ट्रिंग"> `बी` <कोड वर्ग = "सादा">: <कोड वर्ग = "मान"> 2 <कोड वर्ग = "सादा">}

<कोड वर्ग = " अपरिभाषित रिक्त स्थान ">
# गुम कुंजी का मान प्रदर्शित करने का प्रयास कर रहा है

प्रिंट <कोड वर्ग = "सादा"> ( "` c` से संबद्ध मान है: " )

Print (d [ ` c` ])

त्रुटि:

ट्रेसबैक (सबसे हाल की कॉल अंतिम): फ़ाइल "46a9aac96614587f5b794e451a8f4f5f.py", पंक्ति 9, प्रिंट में (d [`c`]) KeyError:` c` 

इन उपरोक्त उदाहरण, शब्दकोश में "सी" नाम की कोई भी कुंजी रनटाइम त्रुटि नहीं देती है। ऐसी स्थितियों से बचने के लिए और उपयोगकर्ता को सचेत करने के लिए कि कोई विशिष्ट कुंजी गुम है या उस स्थान पर एक डिफ़ॉल्ट संदेश भेजें, गुम कुंजियों को संभालने के कई तरीके हैं।

विधि 1: get () का उपयोग करना

प्राप्त करें (कुंजी, def_val) विधि तब उपयोगी होती है जब हमें किसी कुंजी को सत्यापित करने की आवश्यकता होती है। यदि कुंजी मौजूद है, तो कुंजी से संबद्ध मान मुद्रित होता है, अन्यथा तर्कों में दिया गया def_value वापस आ जाता है।

विधि 2: setdefault () का उपयोग करना

setdefault (कुंजी, def_value) get () की तरह काम करता है, लेकिन अंतर यह है कि हर बार कुंजी गुम होने पर, एक नई कुंजी बनाई जाती है जिसके साथ def_value जुड़ा होता है तर्कों के लिए कुंजी पास की गई।

उपरोक्त कार्यों को लागू करने के लिए, Defaultdict " — यह एक कंटेनर है जिसे परिभाषित किया गया है "संग्रह " नामक एक मॉड्यूल। यह एक तर्क के रूप में फ़ंक्शन (डिफ़ॉल्ट फ़ैक्टरी) लेता है । डिफ़ॉल्ट फ़ैक्टरी डिफ़ॉल्ट "int" पर सेट है, जो है, 0 । यदि कुंजी गुम है — defaultdict, रिटर्न और डिफ़ॉल्ट है डिफ़ॉल्ट द्वारा प्रदर्शित किया जाता है। इसे प्राप्त करने () या सेटडिफॉल्ट () पर वरीयता मिलती है।

# डिफॉल्ट डिक्ट को प्रदर्शित करने के लिए Python कोड


<कोड वर्ग = "टिप्पणियां"> # आयात & quot; संग्रह & quot; डिफॉल्टडिक्ट के लिए

import कलेक्शन


< कोड वर्ग = "टिप्पणियां"> # डिफ़ॉल्ट घोषणा
कोड वर्ग = "सादा"> defd <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> संग्रह। डिफॉल्टडिक्ट ( lambda : `Key Not found` < कोड वर्ग = "सादा">)


<कोड वर्ग = "टिप्पणियां"> # प्रारंभिक मान

"सादा"> defd [ `a` ] = <कोड वर्ग = "मान"> 1


वर्ग = "सादा"> defd [ <कोड वर्ग = "स्ट्रिंग"> `बी` <कोड वर्ग = "सादा">] <कोड वर्ग = "कीवर्ड"> = 2


# Print value

प्रिंट <कोड वर्ग = "सादा"> ( <कोड वर्ग = "स्ट्रिंग"> "के साथ संबद्ध मूल्य है:" <कोड वर्ग = "सादा">, अंत <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> "")

<कोड वर्ग = "एफ unctions"> प्रिंट <कोड क्लास = "सादा"> (defd [ `a` ]) code>


# प्रिंट वैल्यू ' ग '

Print ( "इससे जुड़ा मान `c` है: " , end = " "") कोड

<कोड वर्ग = "फ़ंक्शंस"> प्रिंट <कोड वर्ग = "सादा"> ( defd [ <कोड वर्ग = "स्ट्रिंग"> `c` कोड> <कोड वर्ग = "सादा">])

आउटपुट:

`a` से जुड़ा मान है: 1 `c` से जुड़ा मान है: कुंजी नहीं मिली 

यह लेख मंजीत सिंह । यदि आप Python.Engineering के रूप में हैं और योगदान देना चाहते हैं, तो आप योगदान.पायथन.इंजीनियरिंग का उपयोग करके या एक लेख पोस्ट करके भी एक लेख लिख सकते हैं। @पायथन.इंजीनियरिंग में योगदान करें। पायथन.इंजीनियरिंग होमपेज पर मेरा लेख देखें और अन्य geeks की मदद करें।

यदि आपको कुछ भी गलत लगता है या यदि आप ऊपर चर्चा किए गए विषय पर अधिक जानकारी साझा करना चाहते हैं तो कृपया टिप्पणी पोस्ट करें।