Dictionaries Nesting in Python

Dictionaries Nesting in Python हमें काफी Complex तरीके के Data को Store, Access व Manipulate करने के लिए इसके विभिन्‍न Core Types को Different तरीके से Use करने की स‍ुविधा देता है।

उदाहरण के लिए पिछले Example में हमने केवल एक Single Student के Simple Record को Store करने के‍ लिए Dictionary Object का प्रयोग किया था। लेकिन मान लें कि हमें Student के FirstName व LastName दोनों को Store करना है, साथ ही किसी कारणवश Student का Late Admission हुआ, जिसकी वजह से वह 1st2nd दोनों Classes में एक साथ Study करता है, ताकि अपने एक साल के Gap को Cover कर सके। इस तरह के Multiple Data को Store करने के लिए हम Dictionary को निम्‍नानुसार तरीके से Define कर सकते हैं-


FileName: NestingDictionary.py
dicStud =   {
                'Name':{'First':'KRISHNA', 'Last':'MURARI'},
                'Class': ['I', 'II'],
                'Age' : 6
            }

print("Student Record \n", dicStud, '\n')
print("Full Name of the Student:",
dicStud['Name']['First'], dicStud['Name']['Last'])
print("Studying in Classes:",
dicStud['Class'][0], 'and', dicStud['Class'][1])

Output
Student Record
 {'Name': {'First': 'KRISHNA', 'Last': 'MURARI'}, 'Class': ['I', 'II'], 'Age': 6}

Full Name of the Student: KRISHNA MURARI
Studying in Classes: I and II

इस Example में भी हमारे पास मुख्‍य Dictionary में तीन Keys (Name, Class, Age) हैं लेकिन इनमें से NameClass के साथ जो Data Value Associate की गई है, वह एक Single Data Value नहीं है बल्कि Name के साथ एक नया Dictionary Object Associated है जबकि Class के साथ एक List Object Associated है और Python हमें Dictionary व List तथा अन्‍य Data Types को इस तरह से Nest करते हुए Complex Data Structure को Define, Manage व Maintain करने की सुविधा देता है।

हालांकि इस Example में एक Dictionary Object के अन्‍दर एक और Dictionary व List Object Nested हैं, लेकिन ये Nested Objects अपने Outer Object से पूरी तरह से Separate हैं, इसलिए किसी Dictionary या List Object के साथ हम हो भी Operations Perform कर सकते हैं, वे सभी Operations हम इन Nested Objects के साथ भी समान रूप से Perform कर सकते हैं। अन्‍तर केवल इतना होगा कि हमें प्रत्‍येक Inner Dictionary या List Object को उनके Key या Index Number के माध्‍यम से Uniquely Identify करना पड़ेगा।

Nesting का जो काम हमने पिछले Example में इतना Simple तरीके से किया है, उसी काम को यदि हमें C/C++ जैसी Lower Level Languages में करना होता, तो हमें बहुत सारा Code लिखना पड़ता। हमें Arrays Create करने पड़ते फिर Structure / Class को Nest करना पड़ता और फिर उन्‍हें Access and Manipulate करने से सम्‍बंधित Operations को Methods के माध्‍यम से Define करना पड़ता। जबकि Python में इस पूरे Complex Data Structure को Define करना कितना आसान है, इस बात को आप उपरोक्‍त Example द्वारा आसानी से समझ सकते हैं।

C++, Java, C# जैसी Modern Programming Languages की तरह ही Python में भी Garbage Collection नाम का एक Feature होता है, जो हर उस Object के लिए Allocated की गई Memory को Release करता रहता है, जिसके Reference को पूरी तरह से हटा दिया गया है।

उदाहरण के लिए यदि हमने किसी Value को किसी किसी Identifier x में Store किया और फिर उस Identifier x में एक नया मान Store कर दिया, तो जो मान Identifier x में पहले Store करने के लिए Memory Reserve किया गया था, अब वह Memory Free हो गया है और Garbage Collector उस Free Memory को Automatically Release कर देता और ये Process पूरे Program के Life Cycle के दौरान लगातार चलता रहता है।

यानी जैसे ही कोई Identifier किसी Value से सम्‍बंधित Memory Location को छोड़ कर अन्‍य Value के Memory Location को Reference करने लगता है, तो Garbage Collector उस Orphan हो जाने वाले Memory Location को Free कर देता है ताकि किसी अन्‍य Value के लिए उस Memory Location को किसी अन्‍य Program द्वारा Reuse किया जा सके।

Dictionary Mapping Operations in Python
Working with Non-Existing Dictionary Keys

Python in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Python in Hindi | Page: 602 | Format: PDF

BUY NOW GET DEMO REVIEWS