शब्दकोश
आइए एक अन्य पायथन समग्र डेटा प्रकार पर एक नज़र डालते हैं, जिसे
शब्दकोशों और सूचियों में निम्नलिखित विशेषताएं हैं:
<उल>
दोनों परिवर्तनशील हैं;
दोनों गतिशील हैं (आवश्यकतानुसार बढ़ और सिकुड़ सकते हैं);
दोनों को नेस्टेड किया जा सकता है (एक सूची में दूसरी सूची हो सकती है, एक शब्दकोश में एक और शब्दकोश हो सकता है, एक शब्दकोश में एक सूची भी हो सकती है, और इसके विपरीत)।
शब्दकोश मुख्य रूप से सूचियों से भिन्न होते हैं कि तत्वों का उपयोग कैसे किया जाता है:
<उल>
सूची तत्वों को अनुक्रमणिका के माध्यम से सूची में उनकी स्थिति द्वारा एक्सेस किया जाता है;
कुंजियों का उपयोग करके शब्दकोश तत्वों तक पहुंचा जा सकता है।
शब्दकोश, पायथन में कार्यान्वित एक डेटा संरचना है, जिसे सहयोगी सरणी के रूप में जाना जाता है। एक शब्दकोश में एक सेट होता है कुंजी जोड़े का -मान। प्रत्येक कुंजी-मूल्य जोड़ी संबंधित मान की कुंजी को मैप करता है।
डिक्शनरी बनाना
आप कर्ली ब्रेसेस ( {} ) में की-वैल्यू पेयर की अल्पविराम से अलग की गई सूची को संलग्न करके एक शब्दकोश को परिभाषित कर सकते हैं। एक कोलन ( : ) प्रत्येक कुंजी को इससे अलग करता है। इसके संबद्ध एक मान:
घ = {
<कुंजी>: <मूल्य>,
<कुंजी>: <मूल्य>,
.
.
.
<कुंजी>: <मान>
}
आप बिल्ट-इन dict() फंक्शन के साथ एक डिक्शनरी बना सकते हैं। dict() तर्क की-वैल्यू जोड़े का अनुक्रम होना चाहिए। इसके लिए tuples की एक सूची अच्छी तरह से काम करती है:
डी = तानाशाही ([
(<कुंजी>, <मान>),
(<कुंजी>, <मान),
.
.
.
(<कुंजी>, <मान>)
])प्री>
आप केवल प्रिंट() कमांड से सूची की सामग्री को स्क्रीन पर प्रदर्शित कर सकते हैं। शब्दकोश में प्रविष्टियां उसी क्रम में प्रदर्शित की जाती हैं जिस क्रम में वे बनाई गई थीं।
|
शब्दकोश तत्वों तक पहुंचें
शब्दकोश के तत्वों के साथ काम करने के लिए, उन्हें किसी तरह से एक्सेस किया जाना चाहिए। यदि आप उन्हें इंडेक्स द्वारा नहीं प्राप्त कर सकते हैं, तो आप उन्हें कैसे प्राप्त कर सकते हैं?
वर्ग कोष्ठक ( [] ) में संबंधित कुंजी निर्दिष्ट करके शब्दकोश से मान प्राप्त किया जाता है।
उदाहरण के लिए, पिछले कार्य में बनाए गए शब्दकोश से अबकाज़िया की राजधानी प्रदर्शित करना:
प्रिंट(dict_country['अबखज़िया'])
पूर्व>
यदि आप किसी ऐसी कुंजी का संदर्भ देते हैं जो शब्दकोश में नहीं है, तो पायथन एक अपवाद फेंकता है:
प्रिंट(dict_country['रूस'])
पूर्व>
ट्रेसबैक (सबसे हालिया कॉल अंतिम):< /span> File "<...>", रेखा ..., <मॉड्यूल>
प्रिंट(dict_country[& #39;रूस'])
KeyError: 'रूस' ;
शब्दकोश में तत्व जोड़ना
किसी मौजूदा शब्दकोश में प्रविष्टि जोड़ना उतना ही सरल है जितना कि एक नई कुंजी और मान निर्दिष्ट करना:
dict_country['रूस'] = 'मॉस्को'
शब्दकोश प्रविष्टि को अपडेट करना
अगर आप किसी प्रविष्टि को अपडेट करना चाहते हैं, तो आप मौजूदा कुंजी को बस एक नया मान निर्दिष्ट कर सकते हैं:
dict_country['रूस'] = 'मॉस्को'
शब्दकोश से प्रविष्टि हटाएं
किसी प्रविष्टि को हटाने के लिए, del ऑपरेटर का उपयोग करें, हटाने की कुंजी निर्दिष्ट करें:
डेल डिक्ट_कंट्री [<कुंजी>]प्री>
एक शब्दकोश में तत्वों तक पहुँचने के क्रम में स्वतंत्र है, पायथन यह सुनिश्चित करता है कि एक शब्दकोश में तत्वों का क्रम संरक्षित है। प्रदर्शित होने पर, तत्वों को उस क्रम में प्रदर्शित किया जाएगा जिसमें उन्हें परिभाषित किया गया था, और कुंजियों को भी उसी क्रम में दोहराया जाएगा। शब्दकोश में जोड़े गए आइटम अंत में जोड़े जाते हैं। यदि तत्वों को हटा दिया जाता है, तो शेष तत्वों का क्रम संरक्षित रहता है।
यह याद रखना चाहिए कि शब्दकोश की चाबियाँ, साथ ही साथ शब्दकोश के तत्व, विभिन्न प्रकार के हो सकते हैं। एक शब्दकोश में निम्न सामग्री भी हो सकती है:
डी = {42: [2, 3, 6, 7], 2.78: 'बीबीबी', सत्य: 1}
प्रिंट (डी [42] [1]) # 3 - नेस्टेड तत्वों तक पहुंचने के लिए, एक अतिरिक्त कुंजी या इंडेक्स का उपयोग करें
पूर्व>
|
बिल्ट-इन डिक्शनरी मेथड
स्ट्रिंग्स, सूचियों और टुपल्स के बारे में आपने जो कुछ सीखा है, वे शब्दकोशों के साथ भी काम करते हैं। उदाहरण के लिए, <कोड> इनकोड> (या <कोड> अंदर नहींकोड>) विधि आपको यह निर्धारित करने की अनुमति देती है कि क्या एक विशेष कुंजी मौजूद है। शब्दकोश में।
और आपको शब्दकोश की सभी चाबियों से गुजरने की अनुमति भी देता है।
dict_country में कुंजी के लिए:
प्रिंट (कुंजी) प्री>
आप items() मेथड का उपयोग करके की-वैल्यू पेयर पर भी पुनरावृति कर सकते हैं।
dict_country.items में कुंजी, मान के लिए:
प्रिंट (कुंजी, मान) प्री>
अन्य सामान्य रूप से उपयोग की जाने वाली विधियाँ तालिका में सूचीबद्ध हैं।
<टेबल>
<सिर>
<वें>नामवें>
<थ>पद्धतिथ>
विवरण (उदाहरण) |
बात>
<शरीर>
शब्दकोश का आकार |
len() |
शब्दकोश में तत्वों की संख्या लौटाता है
<पूर्व>
लेन(dict_country)
टीडी>
|
शब्दकोश अपडेट कर रहा है |
update() |
आपको एक साथ कई शब्दकोश जोड़े को अपडेट करने की अनुमति देता है
<पूर्व>
dict_country.update({'Russia': 'Moscow', 'Armenia': 'Yerevan'}) < / पूर्व>
टीडी>
|
कुंजी द्वारा मान प्राप्त करें |
get() |
आपको निर्दिष्ट कुंजी द्वारा मान प्राप्त करने की अनुमति देता है। यह जांचने के लिए इस्तेमाल किया जा सकता है कि शब्दकोश में कोई विशेष कुंजी मौजूद है या नहीं
<पूर्व>
dict_country.get('Russia') # कुंजी द्वारा मूल्य लौटाता है,
# यदि ऐसी कोई कुंजी नहीं है, तो यह कोई नहीं लौटाएगा
dict_country.get('Russa', 0) # यदि कोई रूस कुंजी नहीं है, तो यह 0 वापस आ जाएगी
# (0 के बजाय, आप कोई भी मान सेट कर सकते हैं
टीडी>
|
कुंजी हटाएं |
<कोड> पॉप () कोड> |
pop() पद्धति एक कुंजी को हटाती है और उसका संगत मान लौटाती है।
<पूर्व>
dict_country.pop('बहामास')
टीडी>
|
शब्दकोश कुंजियाँ |
keys() |
keys() विधि शब्दकोश में कुंजियों का संग्रह लौटाती है।
<पूर्व>
dict_country.keys()
टीडी>
|
शब्दकोश मान |
मान() |
विधि मान() शब्दकोश में मानों का संग्रह लौटाता है।
<पूर्व>
dict_country.values()
टीडी>
|
शब्दकोश जोड़े |
आइटम() |
items() विधि शब्दकोश में मानों का संग्रह लौटाती है।
<पूर्व>
dict_country.items()
टीडी>
|
टेबल>
|