அகராதியில் புதிய கூறுகளை எவ்வாறு சேர்ப்பது (டிக்ட் வகை பொருள்) அல்லது பைத்தானில் இருக்கும் ஒரு தனிமத்தின் மதிப்பை எவ்வாறு புதுப்பிப்பது என்பதை இந்த பகுதி விளக்குகிறது. பல அகராதிகளை ஒன்றிணைத்தல் (சேர, ஒன்றிணைத்தல்) சாத்தியமாகும்.
- விசைகளைக் குறிப்பிடுவதன் மூலம் அகராதியில் கூறுகளைச் சேர்த்து புதுப்பிக்கவும்.
- பல அகராதிகளின் இணைத்தல் (இணைத்தல்): புதுப்பிப்பு (), | ஆபரேட்டர், | = ஆபரேட்டர்
- பல கூறுகளைச் சேர்க்கவும் அல்லது புதுப்பிக்கவும்: புதுப்பிப்பு (), | = ஆபரேட்டர்
விசைகளைக் குறிப்பிடுவதன் மூலம் அகராதியில் கூறுகளைச் சேர்த்து புதுப்பிக்கவும்.
நீங்கள் அகராதி கூறுகளை பின்வரும் வழியில் சேர்க்கலாம் / புதுப்பிக்கலாம்.
அகராதி பொருள் [விசை] = மதிப்பு
இல்லாத விசை குறிப்பிடப்படும்போது, ஒரு புதிய உறுப்பு சேர்க்கப்படும், ஏற்கனவே இருக்கும் விசை குறிப்பிடப்பட்டால், இருக்கும் மதிப்பு புதுப்பிக்கப்படும் (மேலெழுதப்படும்).
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}
இருக்கும் விசையின் மதிப்பை நீங்கள் புதுப்பிக்க விரும்பவில்லை என்றால், setdefault () முறையைப் பயன்படுத்தவும்.
பல அகராதிகளை ஒன்றிணைத்தல் (ஒன்றிணைத்தல்): புதுப்பித்தல் (), | ஆபரேட்டர், | = ஆபரேட்டர்
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}
முந்தைய எடுத்துக்காட்டுகளைப் போலவே, புதுப்பிப்பு () ஐப் பயன்படுத்துவதும் அசல் அகராதி பொருளைப் புதுப்பிக்கும்.
பல அகராதிகளை இணைப்பதன் மூலம் புதிய அகராதியை உருவாக்க விரும்பினால், {** d1, ** d2} (பைதான் 3.5 இலிருந்து) அல்லது டிக்ட் (** d1, ** d2) ஐப் பயன்படுத்தவும்.
பைதான் 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'