आज में शब्दकोषों के बारे में बात करूँगा, जो डेटा के प्रकार हैं। मैं यह भी बताऊँगा कि शब्दकोषों के साथ काम कैसे करना है, उन पर ऑपरेशन कैसे करने हैं, वे किस तरीके से काम करते हैं और शब्दकोषों के जनरेटर के बारे में।
पाइथन में शब्दकोष बिना किसी क्रम वाले संग्रह हैं जिनमें अलग-अलग प्रकार के ऑब्जेक्ट मौजूद होते हैं। उन्हें कुंजी के आधार पर एक्सेस किया जा सकता है। इन्हें कभी-कभी एसोसिएटिव एरे या हैश टेबल भी कहा जाता है।
शब्दकोष के साथ काम करने के लिए, सबसे पहले इसे बनाना पड़ता है। यह कई तरीकों से किया जा सकता है। पहला तरीका है लिटरल का इस्तेमाल करना:
d = {}
print(d)
d = {'dict': 1, 'dictionary': 2}
print(d)
दूसरा तरीका है dict फंक्शन का उपयोग करना:
d = dict(short='dict', long='dictionary')
print(d)
d = dict([(1, 1), (2, 4)])
print(d)
तीसरा तरीका है fromkeys मेथड का उपयोग करना:
d = dict.fromkeys(['a', 'b'])
print(d)
d = dict.fromkeys(['a', 'b'], 100)
print(d)
चौथा तरीका है शब्दकोषों के जेनरेटर का उपयोग करना, जो सूचियों के जेनरेटर के समान होते हैं।
d = {a: a ** 2 for a in range(7)}
print(d)
अब एक शब्दकोष में एंट्री जोड़ने और कुंजियों के मान निकालने का तरीका समझते हैं:
d = {1: 2, 2: 4, 3: 9}
print(d[1])
d[4] = 4 ** 2
print(d)
print(d.get('1')) # Using get() to avoid exceptions for non-existent keys
जैसा कि उदाहरण से पता चलता है, एक नई कुंजी को असाइन करने से शब्दकोष का विस्तार होता है, मौजूदा कुंजी को असाइन करने से उसका मान बदल जाता है, और एक गैर-मौजूद कुंजी को निकालने का प्रयास अपवाद उत्पन्न करता है। अपवाद से बचने के लिए, एक विशेष विधि है (नीचे देखें), या आप अपवाद को इंटरसेप्ट कर सकते हैं।
शब्दकोशों के साथ और क्या किया जा सकता है? आप उनके साथ वही कर सकते हैं जो अन्य ऑब्जेक्ट्स के साथ करते हैं: बिल्ट-इन फ़ंक्शन, कीवर्ड (जैसे for और while लूप), और शब्दकोशों के लिए विशेष तरीकों का उपयोग करें।
शब्दकोश के तरीके
- dict.clear() – शब्दकोष को साफ करता है।
- dict.copy() – शब्दकोष की एक प्रतिलिपि लौटाता है।
- classmethod dict.fromkeys(seq[, value]) – seq से कुंजियों के साथ एक शब्दकोष बनाता है और मान value (डिफ़ॉल्ट रूप से None) देता है।
- dict.get(key[, default]) – कुंजी का मान लौटाता है, लेकिन अगर यह मौजूद नहीं है, तो अपवाद नहीं फेंकता है, बल्कि default (डिफ़ॉल्ट रूप से None) लौटाता है।
- dict.items() – (कुंजी, मान) जोड़े लौटाता है।
- dict.keys() – शब्दकोष में कुंजियाँ लौटाता है।
- dict.pop(key[, default]) – कुंजी हटाता है और मान लौटाता है। यदि कुंजी मौजूद नहीं है, तो डिफ़ॉल्ट (डिफ़ॉल्ट रूप से एक अपवाद उत्पन्न करता है) देता है।
- dict.popitem() – एक जोड़ी (कुंजी, मान) हटाता है और लौटाता है। यदि शब्दकोष खाली है, तो KeyError अपवाद उत्पन्न करता है। याद रखें कि शब्दकोष अव्यवस्थित हैं।
- dict.setdefault(key[, default]) – कुंजी का मान लौटाता है, लेकिन अगर यह मौजूद नहीं है, तो अपवाद नहीं फेंकता है, बल्कि डिफ़ॉल्ट (डिफ़ॉल्ट रूप से None) मान के साथ एक कुंजी बनाता है।
- dict.update([other]) – शब्दकोष को अपडेट करता है, अन्य से (कुंजी, मान) जोड़े जोड़ता है। मौजूदा कुंजियों को अधिलेखित कर दिया जाता है। None (नया शब्दकोष नहीं!) देता है।
- dict.values() – शब्दकोष में मान लौटाता है।