शब्दकोषात घटक समाविष्ट करणे आणि पायथनमधील शब्दकोषांमध्ये सामील होणे

व्यवसाय

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

  • की निर्दिष्ट करुन शब्दकोषात घटक जोडा आणि अद्यतनित करा.
  • एकाधिक शब्दकोषांचे संक्षेप (विलीन): अद्यतन (), | ऑपरेटर, | = ऑपरेटर
  • एकाधिक घटक जोडा किंवा अद्यतनित करा: अद्यतन (), | = ऑपरेटर

की निर्दिष्ट करुन शब्दकोषात घटक जोडा आणि अद्यतनित करा.

आपण खालील प्रकारे शब्दकोश घटक जोडू / अद्यतनित करू शकता.

शब्दकोश ऑब्जेक्ट [की] = मूल्य

जेव्हा अस्तित्त्वात नसलेली की निर्दिष्ट केली जाते, तेव्हा एक नवीन घटक जोडला जातो आणि जेव्हा विद्यमान की निर्दिष्ट केली जाते तेव्हा विद्यमान मूल्य अद्यतनित केले जाते (अधिलेखित).

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}

आपण अस्तित्त्वात असलेल्या कीचे मूल्य अद्यतनित करू इच्छित नसल्यास सेटडेफॉल्ट () पद्धत वापरा.

कॉनकेनेट (विलीन) एकाधिक शब्दकोश: अद्यतन (), | ऑपरेटर, | = ऑपरेटर

update()

शब्दकोश ऑब्जेक्टच्या मेथड अपडेट ()) वर वितर्क म्हणून अन्य शब्दकोश ऑब्जेक्ट निर्दिष्ट केल्यास त्याचे सर्व घटक जोडले जातील.

की अस्तित्त्वात असलेल्या कीसह आच्छादित असल्यास, वितर्कात निर्दिष्ट शब्दकोशाच्या मूल्यासह ती अधिलेखित केली जाईल.

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update(d2)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

अद्यतन () वितर्कात एकाधिक शब्दकोष निर्दिष्ट करण्यात त्रुटी आहे.

d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d1.update(d2, d3)
# TypeError: update expected at most 1 arguments, got 2

नंतर स्पष्ट केल्याप्रमाणे, अद्यतन () कीवर्ड युक्तिवाद (की = मूल्य) म्हणून नवीन घटक जोडू शकते, म्हणून शब्दकोशात ** जोडा आणि प्रत्येक घटक कीवर्ड आर्ग्युमेंट म्हणून विस्तृत करा आणि त्यास पास करा.

d1.update(**d2, **d3)
print(d1)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}

मागील उदाहरणांप्रमाणे, अद्यतन () वापरणे मूळ शब्दकोश ऑब्जेक्ट अद्यतनित करेल.

आपण एकाधिक शब्दकोष विलीन करून एक नवीन शब्दकोश तयार करू इच्छित असल्यास, {** डी 1, ** डी 2} (पायथन 3.5 पासून) किंवा डिक (** डी 1, ** डी 2) वापरा.

पायथन 3..9 आणि नंतरच्या काळात, | वापरून नवीन शब्दकोश तयार करणे देखील शक्य आहे ऑपरेटर पुढील वर्णन.

| ऑपरेटर, | = ऑपरेटर (पायथन 3..9 आणि नंतरचे)

पायथन 3..9 पासून, | वापरून दोन शब्दकोष विलीन करणे शक्य आहे ऑपरेटर जेव्हा दोन शब्दकोषांना समान की असते, उजवीकडील मूल्याला प्राधान्य असते.

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

print(d1 | d2)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

print(d2 | d1)
# {'k1': 1, 'k3': 3, 'k4': 4, 'k2': 2}

ऑपरेटरच्या शृंखलाद्वारे अनेक शब्दकोष एकत्र करणे देखील शक्य आहे.

d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

print(d1 | d2 | d3)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}

अद्यतन () प्रमाणेच, डाव्या बाजूला ऑब्जेक्ट अद्यतनित केले गेले आहे.

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1 |= d2
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

एकाधिक घटक जोडा किंवा अद्यतनित करा: अद्यतन (), | = ऑपरेटर

update()

जेव्हा कीवर्ड आर्ग्यूमेंट की = मूल्य अद्यतन () पद्धतीत निर्दिष्ट केले जाते तेव्हा की की आणि मूल्य मूल्य जोडले जाईल. की विद्यमान की सह आच्छादित असल्यास, ते वितर्कात निर्दिष्ट केलेल्या मूल्यासह अधिलेखित केले जाईल.

d = {'k1': 1, 'k2': 2}

d.update(k1=100, k3=3, k4=4)
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

अद्यतन () पद्धतीसाठी वितर्क म्हणून (की, मूल्य) यादी निर्दिष्ट करणे देखील शक्य आहे. की विद्यमान की सह आच्छादित असल्यास, ते वितर्क म्हणून निर्दिष्ट केलेल्या मूल्यासह अधिलेखित केले जाईल.

d = {'k1': 1, 'k2': 2}

d.update([('k1', 100), ('k3', 3), ('k4', 4)])
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

झिप () फंक्शनच्या संयोजनात घटकांची चावी व मूल्यांच्या यादीतून जोडले जाऊ शकते.

d = {'k1': 1, 'k2': 2}

keys = ['k1', 'k3', 'k4']
values = [100, 3, 4]

d.update(zip(keys, values))
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

| = ऑपरेटर (पायथन 3..9 आणि नंतर)

| = ऑपरेटरसह, (की, मूल्य) यादी उजव्या बाजूला निर्दिष्ट केली जाऊ शकते.

d = {'k1': 1, 'k2': 2}

d |= [('k1', 100), ('k3', 3), ('k4', 4)]
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

| सह यादी निर्दिष्ट करीत असल्याचे लक्षात घ्या ऑपरेटरला त्रुटी येईल. केवळ शब्दकोष-ते-शब्दकोष ऑपरेशन समर्थित आहेत.

# print(d | [('k1', 100), ('k3', 3), ('k4', 4)])
# TypeError: unsupported operand type(s) for |: 'dict' and 'list'
Copied title and URL