Dictionary Mapping Operations in Python

Dictionary Mapping Operations in Python – Python की Dictionaries Data Structure एक पूरी तरह से अलग Data Structure है, जो कि Sequences की तरह नहीं बल्कि Mappings की तरह काम करते हैं।

Mappings भी एक प्रकार का Collection ही होता है जो कि List की तरह ही अन्‍य प्रकार के Data Objects को Hold करता है। वास्‍तव में Mapping में Left-to-Right Order को Reliable तरीके से Maintain ही नहीं किया जाता बल्कि ये केवल Keys को Associated Values के साथ Map करता है।

Dictionary, Python का इकलौता Mapping Type है और ये भी List Core Type की तरह ही Mutable है। इसलिए इसमें Stored Data को भी हम हमारी जरूरत के अनुसार ठीक उसी तरह से Change कर सकते हैं, जिस तरह से List के Data Objects को Change कर सकते हैं और List की तरह ही Dictionary भी Grow व Shrink हो सकता है।

Lists की तरह ही Dictionary भी एक काफी Flexible Data Structure है, लेकिन इसका प्रयोग तब ज्‍यादा सफलतापूर्वक किया जा सकता है, जब Data को किसी एक Specific Key के साथ Associated करते हुए Access and Manipulate करना होता है। इस Key को उसके साथ Associated Data के लिए एक प्रकार के Label की तरह Use किया जाता है।

अन्‍य शब्‍दों में कहें तो किसी Database की Table Create करते समय हम जो Field Name Specify करते हैं, वह Field Name एक प्रकार का Label ही होता है, जो उसके साथ Associated Column में Store होने वाले Data को Refer करने के लिए Use किया जाता है।

Mapping Operations

Dictionaries को Curly Braces { } के माध्‍यम से Code किया जाता है और इसके अन्‍दर Stored सभी Data Items, Key-Value Pair के रूप में Store होते हैं। Dictionaries तब बहुत उपयोगी होते हैं, जब हमें Values को Key-Value Pair के रूप में Store करना होता है।

उदाहरण के लिए यदि हम Students के Roll Number को उनके नाम के साथ Associate करना चाहें अथवा Temperature को City के साथ Associate करना चाहें, तो निम्‍नानुसार Dictionary के माध्‍यम से ये काम बहुत ही आसानी से किया जा सकता है-

[code]
FileName: Dictionary.py
dicStud = { 100:"MOHAN", 101:"MADHAV", 102:"KRISHNA", 103:"MURARI"}
print("Dictionary of Roll No. associated with Names. ")

print(dicStud, "\n")

print("Accessing and Manipulating Dictionary Values by Keys")
print("Name associated with Roll No. 102 is", dicStud[102])
print("\nChange Name associated with Roll No. 101 to 'MANOHAR'")

dicStud[101] = "MANOHAR"
print(dicStud)

Output
Dictionary of Roll No. associated with Names.
{100: 'MOHAN', 101: 'MADHAV', 102: 'KRISHNA', 103: 'MURARI'}

Accessing and Manipulating Dictionary Values by Keys
Name associated with Roll No. 102 is KRISHNA

Change Name associated with Roll No. 101 to 'MANOHAR'
{100: 'MOHAN', 101: 'MANOHAR', 102: 'KRISHNA', 103: 'MURARI'}
[/code]

जैसाकि इस Example से आसानी से समझा जा सकता है कि हम किसी Dictionary के Data Items के रूप में Specified Key:Value Pairs में किसी Key के माध्‍यम से उसके साथ Associated Values को Access कर सकते हैं और जरूरत पड़ने पर Change भी कर सकते हैं।

जब हम Dictionary Data Structure Use करते हैं, तब हम List की तरह ही इसमें Stored प्रत्‍येक Data Item को Access and Manipulate कर सकते हैं लेकिन अन्‍तर केवल इतना है कि List में हम किसी Data Item को उसके Index Number के माध्‍यम से Access करते हैं जबकि Dictionary में किसी Data को उसके साथ Associated Key के माध्‍यम से Access किया जाता है।

Dictionary हमें ये सुविधा भी देता है कि हम एक Blank Dictionary Object Create कर सकते हैं और फिर जरूरत के अनुसार उसमें Program के Run Time में Key-Value Pair के रूप में Dynamically Data Items Add कर सकते हैं। इसे समझने के लिए हम हमारे पिछले Example को ही निम्‍नानुसार Modify कर सकते हैं-

[code]
FileName: DynamicDictionary.py
dicStud = {}

# Dynamically Adding New Key-Value Pairs as Data Item of Dictionary
dicStud[100] = "MOHAN"
dicStud[101] = "MADHAV"
dicStud[102] = "KRISHNA"
dicStud[103] = "MURARI"

print("Dictionary of Roll No. associated with Names. ")

print(dicStud, "\n")

print("Accessing and Manipulating Dictionary Values by Keys")
print("Name associated with Roll No. 102 is", dicStud[102])

print("\nChange Name associated with Roll No. 101 to 'MANOHAR'")
dicStud[101] = "MANOHAR"

print(dicStud)

Output
Dictionary of Roll No. associated with Names.
{100: 'MOHAN', 101: 'MADHAV', 102: 'KRISHNA', 103: 'MURARI'}

Accessing and Manipulating Dictionary Values by Keys
Name associated with Roll No. 102 is KRISHNA

Change Name associated with Roll No. 101 to 'MANOHAR'
{100: 'MOHAN', 101: 'MANOHAR', 102: 'KRISHNA', 103: 'MURARI'}
[/code]

List की तरह ही हम किसी Dictionary में भी Multip Type के Data Items को Key:Value Pair के रूप में Store कर सकते हैं और Associated Keys के माध्‍यम से बिना कोई Extra Ordinary प्रयास किए हुए किसी भी तरह के Stored Data को Access and Manipulate कर सकते हैं। जैसे-

[code]
FileName: MultipleDataTypeDictionary.py
dicStud = {}

# Dynamically Adding New Key-Value Pairs as Data Item of Dictionary
dicStud['Name'] = "KRISHNA"
dicStud['Age'] = 5
dicStud['Class'] = "I"
print("Student's Record", dicStud)

print("Change the Class 'I' to 'II' of Student", dicStud['Name'])

dicStud['Class'] = "II"

print("Student's Modified Record: ", dicStud)

Output
Student's Record {'Name': 'KRISHNA', 'Age': 5, 'Class': 'I'}

Change the Class 'I' to 'II' of Student KRISHNA

Student's Modified Record:  {'Name': 'KRISHNA', 'Age': 5, 'Class': 'II'}
[/code]

इतना ही नहीं, कई बार जब हम किन्‍हीं दो अलग Files अथवा Database से कुछ Data को अलग-अलग Retrive करते हैं और फिर हमें उन अलग-अलग Data को एक Dictionary Data Structure के माध्‍यम से Handle करना होता है।

इस तरह की स्थिति को Handle करने के लिए Python हमें Zipping की सुविधा भी Provide करता है, जिसके अन्‍तर्गत हम Keys व Values को दो अलग List Obejcts के माध्‍यम से Represent करते हैं और उनकी Zipping करके उन्‍हें Key:Value Pair के रूप में Setup करके एक Dictionary Object Create कर लेते हैं। इस Zipping की प्रक्रिया को निम्‍न Example द्वारा ज्‍यादा आसानी से समझा जा सकता है-

[code]
FileName: ZippingDictionary.py
keys = ['Name', 'Age', 'Class']
values = ["KRISHNA", 5, "I"]

dicStud = dict( zip(keys, values) )

print("Student's Record", dicStud)
print("Change the Class 'I' to 'II' of Student", dicStud['Name'])

dicStud['Class'] = "II"

print("Student's Modified Record: ", dicStud)

Output
Student's Record {'Name': 'KRISHNA', 'Age': 5, 'Class': 'I'}

Change the Class 'I' to 'II' of Student KRISHNA

Student's Modified Record:  {'Name': 'KRISHNA', 'Age': 5, 'Class': 'II'}
[/code]

इस Program का Output भी Exactly वैसा ही है जैसा पिछले Example का है लेकिन इस Program में हमने KeysValues के दो अलग List Objects Create कर लिए हैं और फिर इन Keys व Values को zip() Function का प्रयोग करते हुए आपस में Map कर लिया है। परिणामस्‍वरूप ये Function Key ‘Name’ को Value “KRISHNA” के साथ, Key ‘Age’ को Value 5 के साथ और Key ‘Class’ को Value “I” के साथ Map करके एक zip Object Return कर देता है।

फिर इस zip Object को एक Dictionary Object में Convert करने के लिए हमने dict() Constructor का प्रयोग किया है। ये Constructor, Parameter के रूप में Specified Key:Value Pair के लिए Dictionary Object Create करके Return करता है। इसीलिए जो zip Object Return होता है, dict() Constructor उसे एक Dictionary Object में Convert करके Return कर देता है और हमारा Program Exactly उसी तरह से Run होने लगता है जैसा पिछला वाला Program Run हो रहा था।

Dictionary की सबसे अच्‍छी बात यही है कि इसमें Data को एक व्‍यवस्थित क्रम में Specify करना जरूरी नहीं होता, क्‍योंकि हम इसके Data को Key:Value Pair के रूप में Access करते हैं इसलिए हम हमारे किसी Data के Key:Value Pair को Dictionary में किस Location पर Store करते हैं, उसकी Storage Position से Data को Access करने की प्रक्रिया पर कोई प्रभाव नहीं पड़ता। हम Dictionary के Data को हमेंशा उसके साथ Associated Key के माध्‍यम से ही Access and Manipulate करते हैं।

इसी तथ्‍य को यदि हम पिछले Example से समझें, तो हम Dictionary को निम्‍नानुसार Specify करें-

   dicStud = { 100:”MOHAN”, 101:”MADHAV”, 102:”KRISHNA”, 103:”MURARI”}

या इसी Dictionary को निम्‍नानुसार Specify कर दें-

   dicStud = { 103:”MURARI”, 101:”MADHAV”, 100:”MOHAN”, 102:”KRISHNA” }

Program के Output पर कोई प्रभाव नहीं पड़ता। हमें हर बार एक समान Output ही प्राप्‍त होता है क्‍योंकि Dictionary Data Structure, List Data Structure की तरह Index Number पर Depend नहीं है बल्कि Key पर Depend है और ये Key हम हमारी सुविधानुसार स्‍वयं तय करते हैं।

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