मंगलवार, 26 दिसंबर 2017

Learn Python in Marathi - Dictionaries

आज आपण पायथॉन मध्ये एक डिक्शनरी काय असते ते पाहू.  एक डिक्शनरी पण एक लिस्ट सारखीच असते. पायथॉन मध्ये लिस्ट एक क्रमबद्ध सूचि/ यादी असते, त्यातल्या प्रत्येक ऑब्जेक्ट का इंडेक्स नंबर, क्रमांक असतो  आणि त्या क्रमांकाचा वापर करून त्या ऑब्जेक्ट ला हाताळता येते

पण डिक्शनरी चे ऑब्जेक्ट्स क्रमबद्ध नसतात.  त्यांना लिस्ट सारखे हाताळता येत नाही. डिक्शनरी मध्ये एक key-value pair असतो.  त्यातली key ही इंडेक्स नंबर सारखी काम करते आणि key वापरून आपण त्याची व्हॅल्यू जणू शकतो. आणि  key चा वापर करून आपण त्या ऑब्जेक्ट ला हाताळू शकतो. key किंवा value हे अक्षर, संख्या किंवा इतर कोणते ही दाटा ऑब्जेक्ट असू शकते.


यासाठी आपण एक उदहारण पाहू

खाली भारतातील सगळ्यात जास्त लोकसंख्या असलेल्या शहरांची नावे आणि त्यात राहणाऱ्या लोकांची संख्या दिलेली आहे.

Mumbai 12,442,373
Delhi  11,034,555
Bangalore 8,443,675
Hyderabad 6,993,262
Ahmedabad 5,577,940
Chennai 4,646,732

आपण पायथॉन मध्ये ही माहिती साठवण्यासाठी एक डिक्शनरी तयार करू. असे केल्यास आपल्याला त्यातील शहराचे नाव लिहून त्याची लोकसंख्या पाहता येईल.

city = {"Mumbai":12442373, "Delhi":11034555, "Bangalore":8443675, "Hyderabad":6993262, "Ahmedabad":5577940}

पायथॉनच्या  डिक्शनरी साठी {} या  प्रकारचे ब्रेसेस वापरले जातात

"Mumbai":12442373
यात "Mumbai" ही एक key आहे आणि  12442373 ही त्याची व्हॅल्यू . दोन्हीच्या मध्ये  एक कोलन : असतो.  हरेक एलिमेंट के बाद , कॉमा दिया जाता है.

डिक्शनरी तयार केल्यानंतर आपण खालीलप्रमाणे शहराचे नाव लिहून त्याची लोकसंख्या पाहू शकतो

city["Mumbai"]
12442373

city["Bangalore"]
8443675

जर आपण असे एखादे नाव लिहिले जे या डिक्शनरी मध्ये नसेल तर एक एरर मेसेज दिसेल.

city["Kolkata"]
...KeyError: 'Kolkata'

डिक्शनरी मधील सर्व माहिती पाहण्यासाठी फक्त त्याचे नाव लिहिणे पुरे आहे

city
{'Mumbai': 12442373, 'Delhi': 11034555, 'Bangalore': 8443675, 'Hyderabad': 6993262, 'Ahmedabad': 5577940}


 डिक्शनरी तयार झाल्यानंतर जर आपल्याला त्यात एक नवीन नाव जोडायचे असेल तर ते आपण खालील प्रमाणे करू शकतो

city["Chennai"] = 4646732

हे नाव जोडले गेले किंवा नाहे हे पाहण्यासाठी आपण फक्त शहराचे नाव लिहून city["Chennai"] पाहू शकतो. किंवा पूर्ण  डिक्शनरी देखील पाहू शकतो

city
{'Mumbai': 12442373, 'Delhi': 11034555, 'Bangalore': 8443675, 'Hyderabad': 6993262, 'Ahmedabad': 5577940, 'Chennai': 4646732}

 डिक्शनरी तयार झाल्यावर आपल्याला त्यातील एखाद्या शहराच्या लोकसंख्येत बदल करायचा असेल तर ते आपण असे करू

city["Mumbai"] = 12500000

आता हे कन्फर्म करून पाहू

city["Mumbai"]
12500000

जर आपल्याला डिक्शनरी मधून एखादे नाव काढून टाकायचे असेल तर ते आपण असे करू शकतो

del city["Ahmedabad"]

आता आपण  डिक्शनरी प्रिंट करून पाहू. आपण फक्त  city["Ahmedabad"] पण याला चेक करू शकतो. असे केल्यास ते नाव  डिक्शनरी मध्ये नसल्यामुळे आपल्याला  KeyError दिसेल

city
{'Mumbai': 12500000, 'Delhi': 11034555, 'Bangalore': 8443675, 'Hyderabad': 6993262, 'Chennai': 4646732}

आता आपण अजून एक उदहारण घेऊ ज्यामध्ये key ही एक संख्या असेल आणि त्याची value एक नाव असेल

mydict = {1:"Sanjay", 2:"Chandrakant", 3:"Shailaja"}

mydict
{1: 'Sanjay', 2: 'Chandrakant', 3: 'Shailaja'}

mydict[1]
'Sanjay'

mydict[2]
'Chandrakant'