Si të shtoni në një fjalor në Python


Prezantimi

Fjalori është një lloj i të dhënave i integruar në Python. Një fjalor është një sekuencë e çifteve çelës-vlerë. Fjalorët janë objekte të ndryshueshme, megjithatë, çelësat e fjalorit janë të pandryshueshëm dhe duhet të jenë unikë brenda çdo fjalori. Nuk ka asnjë metodë të integruar të shtimit, por ka disa mënyra për të shtuar dhe përditësuar një fjalor. Në këtë artikull, ju do të përdorni operatorin e caktimit të Python, metodën update() dhe operatorët e fjalorit të bashkimit dhe përditësimit për të shtuar dhe përditësuar fjalorët Python.

Shtimi në një fjalor duke përdorur operatorin=Assignment

Mund të përdorni operatorin e caktimit = për të shtuar një çelës të ri në një fjalor:

dict[key] = value

Nëse një çelës ekziston tashmë në fjalor, atëherë operatori i caktimit përditëson ose mbishkruan vlerën.

Shembulli i mëposhtëm tregon se si të krijoni një fjalor të ri dhe më pas të përdorni operatorin e caktimit = për të përditësuar një vlerë dhe për të shtuar çifte çelës-vlerë:

dict_example = {'a': 1, 'b': 2}

print("original dictionary: ", dict_example)

dict_example['a'] = 100  # existing key, overwrite
dict_example['c'] = 3  # new key, add
dict_example['d'] = 4  # new key, add 

print("updated dictionary: ", dict_example)

Prodhimi është:

Output
original dictionary: {'a': 1, 'b': 2} updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}

Prodhimi tregon se vlera e a është mbishkruar nga vlera e re, vlera e b është e pandryshuar dhe çifte të reja çelës-vlerë janë shtuar për c dhe d.

Shtimi në një fjalor pa mbishkrimin e vlerave

Duke përdorur operatorin e caktimit = mbishkruhen vlerat e çelësave ekzistues me vlerat e reja. Nëse e dini se programi juaj mund të ketë çelësa dublikatë, por nuk dëshironi të mbishkruani vlerat origjinale, atëherë mund të shtoni vlera me kusht duke përdorur një deklaratë if.

Duke vazhduar me shembullin nga seksioni i mëparshëm, ju mund të përdorni deklaratat if për të shtuar vetëm çifte të reja çelës-vlerë në fjalor:

dict_example = {'a': 1, 'b': 2}

print("original dictionary: ", dict_example)

dict_example['a'] = 100  # existing key, overwrite
dict_example['c'] = 3  # new key, add
dict_example['d'] = 4  # new key, add 

print("updated dictionary: ", dict_example)

# add the following if statements

if 'c' not in dict_example.keys():
    dict_example['c'] = 300

if 'e' not in dict_example.keys():
    dict_example['e'] = 5

print("conditionally updated dictionary: ", dict_example)

Prodhimi është:

Output
original dictionary: {'a': 1, 'b': 2} updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4} conditionally updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

Dalja tregon se, për shkak të kushtit if, vlera e c nuk ndryshoi kur fjalori u përditësua me kusht.

Shtimi në një fjalor duke përdorur metodën update().

Mund t'i bashkëngjitni një fjalori një fjalor ose një iterable çiftesh çelësash-vlerash në fjalor duke përdorur metodën update(). Metoda update() mbishkruan vlerat e çelësave ekzistues me vlerat e reja.

Shembulli i mëposhtëm tregon se si të krijoni një fjalor të ri, përdorni metodën update() për të shtuar një çift të ri çelës-vlerë dhe një fjalor të ri dhe të printoni çdo rezultat:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary'}
print("original dictionary: ", site)

# update the dictionary with the author key-value pair
site.update({'Author':'Sammy Shark'})
print("updated with Author: ", site)

# create a new dictionary
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

# update the original dictionary with the new dictionary
site.update(guests)
print("updated with new dictionary: ", site)

Prodhimi është:

Output
original dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary'} updated with Author: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark'} updated with new dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

Dalja tregon se përditësimi i parë shton një çift të ri çelës-vlerë dhe përditësimi i dytë shton çiftet çelës-vlerë nga fjalori guest në fjalorin site. Vini re se nëse përditësimi juaj në fjalor përfshin një çelës ekzistues, atëherë vlera e vjetër mbishkruhet nga përditësimi.

Shtimi në një fjalor duke përdorur Merge | Operatori

Mund të përdorni operatorin e bashkimit të fjalorit |, i përfaqësuar nga karakteri tub, për të bashkuar dy fjalorë dhe për të kthyer një objekt të ri fjalori.

Shembulli i mëposhtëm tregon se si të krijoni dy fjalorë dhe të përdorni operatorin e bashkimit për të krijuar një fjalor të ri që përmban çiftet e vlerave kyçe nga të dy:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}

guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

new_site = site | guests

print("site: ", site)
print("guests: ", guests)
print("new_site: ", new_site)

Prodhimi është:

Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy'} guests: {'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'} new_site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

Të dy fjalorët u bashkuan në një objekt të ri fjalori që përmban çiftet çelës-vlerë nga të dy fjalorët.

Nëse një çelës ekziston në të dy fjalorët, atëherë vlera nga fjalori i dytë, ose operandi i djathtë, është vlera e marrë. Në kodin e shembullit të mëposhtëm, të dy fjalorët kanë një çelës të quajtur b:

dict1 = {'a':'one', 'b':'two'}
dict2 = {'b':'letter two', 'c':'letter three'}

dict3 = dict1 | dict2

print{"dict3: ", dict3}

Prodhimi është:

Output
dict3: {'a': 'one', 'b': 'letter two', 'c': 'letter three'}

Vlera e çelësit b u mbishkrua nga vlera nga operandi i duhur, dict2.

Shtimi në një fjalor duke përdorur Përditësimin |= Operatorin

Mund të përdorni operatorin e përditësimit të fjalorit |=, i përfaqësuar nga karakteret e tubit dhe shenjave të barabarta, për të përditësuar një fjalor në vend me fjalorin ose vlerat e dhëna.

Ashtu si operatori i bashkimit |, nëse një çelës ekziston në të dy fjalorët, atëherë operatori i përditësimit |= merr vlerën nga operandi i duhur.

Shembulli i mëposhtëm tregon se si të krijoni dy fjalorë, të përdorni operatorin e përditësimit për të shtuar fjalorin e dytë në fjalorin e parë dhe më pas të printoni fjalorin e përditësuar:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}

guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

site |= guests

print("site: ", site)

Prodhimi është:

Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

Në shembullin e mëparshëm, nuk keni pasur nevojë të krijoni një objekt të tretë fjalori, sepse operatori i përditësimit modifikon objektin origjinal. Dalja tregon se fjalori të ftuarit iu shtua fjalorit origjinal site.

konkluzioni

Në këtë artikull, ju keni përdorur metoda të ndryshme për të shtuar dhe përditësuar një fjalor Python. Vazhdoni të mësoni me më shumë mësime Python.