Како да додадете во речник во Python


Вовед

Речник е вграден тип на податоци од Python. Речник е низа од парови клучна вредност. Речниците се променливи објекти, меѓутоа, копчињата за речник се непроменливи и треба да бидат единствени во секој речник. Не постои вграден метод за додавање, но има неколку начини за додавање и ажурирање речник. Во оваа статија, ќе го користите операторот за доделување на Python, методот update() и операторите за спојување и ажурирање на речникот за додавање и ажурирање на речници на Python.

Додавање во речник со користење на=Оператор за доделување

Можете да го користите операторот за доделување = за да додадете нов клуч во речник:

dict[key] = value

Ако клучот веќе постои во речникот, тогаш операторот за доделување ја ажурира или презапишува вредноста.

Следниот пример покажува како да креирате нов речник и потоа да го користите операторот за доделување = за да ажурирате вредност и да додадете парови клуч-вредност:

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)

Излезот е:

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

Излезот покажува дека вредноста на a е препишана со новата вредност, вредноста на b е непроменета и се додаваат нови парови клучеви-вредности за c и d.

Додавање во речник без препишување вредности

Користењето на операторот за доделување = ги препишува вредностите на постоечките клучеви со новите вредности. Ако знаете дека вашата програма може да има дупликат клучеви, но не сакате да ги презапишете оригиналните вредности, тогаш можете условно да додавате вредности користејќи изјава if.

Продолжувајќи со примерот од претходниот дел, можете да ги користите изјавите if за да додадете само нови парови клуч-вредност во речникот:

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)

Излезот е:

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}

Излезот покажува дека, поради условот if, вредноста на c не се променила кога речникот бил условно ажуриран.

Додавање во речник Користејќи го методот update().

Можете да приложите речник или повторувачки парови клуч-вредности во речник користејќи го методот update(). Методот update() ги препишува вредностите на постоечките клучеви со новите вредности.

Следниот пример покажува како да креирате нов речник, користете го методот update() за да додадете нов пар клуч-вредност и нов речник и да го испечатите секој резултат:

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)

Излезот е:

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'}

Излезот покажува дека првото ажурирање додава нов пар клуч-вредност, а второто ажурирање ги додава паровите клуч-вредност од речникот гостин во речникот site. Имајте предвид дека ако вашето ажурирање на речник вклучува постоечки клуч, тогаш старата вредност се препишува со ажурирањето.

Додавање во речник со користење на Merge | Оператор

Може да го користите операторот за спојување на речникот |, претставен со знакот на цевката, за да споите два речници и да вратите нов речник објект.

Следниот пример покажува како да креирате два речници и да го користите операторот за спојување за да креирате нов речник кој ги содржи паровите клуч-вредност од двата:

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)

Излезот е:

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'}

Двата речници беа споени во нов речник објект кој ги содржи паровите клуч-вредност од двата речника.

Ако постои клуч во двата речника, тогаш вредноста од вториот речник или десниот операнд е земената вредност. Во следниот примерен код, двата речника имаат клуч наречен b:

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

dict3 = dict1 | dict2

print{"dict3: ", dict3}

Излезот е:

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

Вредноста на клучот b беше препишана со вредноста од десниот операнд, dict2.

Додавање во речник со користење на ажурирање |= оператор

Може да го користите операторот за ажурирање на речникот |=, претставен со знаците на цевката и знакот за еднакви, за да ажурирате речник на место со дадениот речник или вредности.

Исто како операторот за спојување |, ако постои клуч во двата речници, тогаш операторот за ажурирање |= ја зема вредноста од десниот операнд.

Следниот пример покажува како да креирате два речници, да го користите операторот за ажурирање за да го додадете вториот речник на првиот речник, а потоа да го испечатите ажурираниот речник:

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)

Излезот е:

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

Во претходниот пример, не требаше да креирате трет речник објект, бидејќи операторот за ажурирање го менува оригиналниот објект. Излезот покажува дека речникот гости е додаден на оригиналниот речник сајт.

Заклучок

Во оваа статија, користевте различни методи за додавање и ажурирање на речник на Python. Продолжете со учењето со повеќе упатства за Python.