ශබ්ද කෝෂයකට මූලද්‍රව්‍ය එකතු කිරීම සහ පයිතන්හි ශබ්දකෝෂවලට සම්බන්ධ වීම

ව්යාපාරික

මෙම කොටස ශබ්දකෝෂයකට නව මූලද්‍රව්‍ය එකතු කරන්නේ කෙසේද යන්න පැහැදිලි කරයි (පයිතන්හි පවතින මූලද්‍රව්‍යයක වටිනාකම යාවත්කාලීන කරන්න). බහුවිධ ශබ්ද කෝෂ සංයුක්ත කිරීම (එක්වීම, ඒකාබද්ධ කිරීම) ද කළ හැකිය.

  • බහු ශබ්ද කෝෂවල සංයුක්ත කිරීම (ඒකාබද්ධ කිරීම): යාවත්කාලීන කිරීම (), | ක්රියාකරු, | = ක්රියාකරු
  • බහු අංග එකතු කරන්න හෝ යාවත්කාලීන කරන්න: යාවත්කාලීන කරන්න (), | = ක්‍රියාකරු

යතුරු නියම කිරීමෙන් ශබ්ද කෝෂයට අංග එකතු කර යාවත්කාලීන කරන්න.

ඔබට පහත දැක්වෙන ආකාරයෙන් ශබ්දකෝෂ අංග එකතු කිරීමට / යාවත්කාලීන කිරීමට හැකිය.

ශබ්ද කෝෂ වස්තුව [යතුර] = අගය

නොපවතින යතුරක් නියම කළ විට, නව අංගයක් එකතු වන අතර, පවතින යතුරක් නියම කළ විට, පවතින අගය යාවත්කාලීන වේ (නැවත ලියනු ලැබේ).

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

පසුව පැහැදිලි කළ පරිදි, යාවත්කාලීනය () මඟින් මූලද්‍රව්‍ය තර්ක ලෙස (key = value) නව අංග එකතු කළ හැකිය, එබැවින් ශබ්දකෝෂයට ** එකතු කර එක් එක් මූලද්‍රව්‍යය මූල පද තර්කයක් ලෙස පුළුල් කර එය සම්මත කරන්න.

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()

යාවත්කාලීන () ක්‍රමයේදී යතුරු පදයේ key = අගය නිශ්චිතව දක්වා ඇති විට, යතුරු යතුර සහ අගය අගය එකතු වේ. යතුර පවතින යතුරක් සමඟ අතිච්ඡාදනය වුවහොත්, එය තර්කයේ දක්වා ඇති අගය සමඟ නැවත ලියනු ලැබේ.

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}

Zip () ශ්‍රිතය සමඟ ඒකාබද්ධව, යතුරු ලැයිස්තුවකින් සහ අගයන් ලැයිස්තුවකින් මූලද්‍රව්‍ය එකතු කළ හැකිය.

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