Hoe toe te voegen aan een woordenboek in Python

Introductie

Woordenboek is een ingebouwd gegevenstype in Python. Een woordenboek is een reeks van sleutel-waardeparen. Woordenboeken zijn wijzigbare objecten, maar de sleutels van het woordenboek zijn onveranderlijk en moeten uniek zijn binnen elk woordenboek. Er is geen ingebouwde add-methode, maar er zijn verschillende manieren om een woordenboek toe te voegen en bij te werken. In dit artikel gebruikt u de toewijzingsoperator van Python, de update()-methode en de samenvoegings- en bijwerkingsoperators van het woordenboek om Python-woordenboeken toe te voegen en bij te werken.

Implementeer uw Python-toepassingen vanuit GitHub met behulp van DigitalOcean App Platform. Laat DigitalOcean zich richten op het schalen van uw app.

Vier methoden om aan het Python-woordenboek toe te voegen

  1. Gebruik van de toewijzingsoperator
  2. Gebruik van de updatemethode
  3. Met behulp van de Merge Operator
  4. Met behulp van de Update Operator

Toevoegen aan Python Dictionary met de = toekenningsoperator

Je kunt de toekenningsoperator = gebruiken om een nieuwe sleutel aan een dictionary toe te voegen:

dict[key] = value

Als een sleutel al in de dictionary bestaat, wordt de toekenningsoperator gebruikt om de waarde bij te werken of te overschrijven.

Het volgende voorbeeld laat zien hoe je een nieuwe dictionary maakt en vervolgens de toekenningsoperator = gebruikt om een waarde bij te werken en sleutel-waardeparen toe te voegen:

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

print("original dictionary: ", dict_example)

dict_example['a'] = 100  # bestaande sleutel, overschrijven
dict_example['c'] = 3  # nieuwe sleutel, toevoegen
dict_example['d'] = 4  # nieuwe sleutel, toevoegen 

print("updated dictionary: ", dict_example)

De uitvoer is:

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

De uitvoer laat zien dat de waarde van a wordt overschreven door de nieuwe waarde, de waarde van b blijft ongewijzigd, en er worden nieuwe sleutel-waardeparen toegevoegd voor c en d.

Voeg waarden toe aan Python-woordenboek zonder bestaande waarden te overschrijven

Door de = toekenningsoperator worden de waarden van bestaande sleutels overschreven door de nieuwe waarden. Als je weet dat je programma mogelijk dubbele sleutels heeft, maar je wilt de originele waarden niet overschrijven, dan kun je conditioneel waarden toevoegen met behulp van een if-verklaring.

Met het voorbeeld uit de voorgaande sectie kun je if-verklaringen gebruiken om alleen nieuwe sleutel-waardeparen aan het woordenboek toe te voegen:

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

print("original dictionary: ", dict_example)

dict_example['a'] = 100  # bestaande sleutel, overschrijven
dict_example['c'] = 3  # nieuwe sleutel, toevoegen
dict_example['d'] = 4  # nieuwe sleutel, toevoegen

print("updated dictionary: ", dict_example)

# voeg de volgende if-verklaringen toe

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)

De output is:

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}

De output toont dat, vanwege de if-conditie, de waarde van c niet veranderde toen het woordenboek conditioneel werd bijgewerkt.

Voeg waarden toe aan Python-woordenboek met behulp van de update()-methode

Je kunt een woordenboek of een iterable van sleutel-waardeparen toevoegen aan een woordenboek met behulp van de methode `update()`. De methode `update()` overschrijft de waarden van bestaande sleutels met de nieuwe waarden.

Het volgende voorbeeld toont hoe je een nieuw woordenboek kunt maken, de methode `update()` kunt gebruiken om een nieuwe sleutel-waardepaar en een nieuw woordenboek toe te voegen, en elk resultaat kunt afdrukken:

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

# Werk het woordenboek bij met het auteur sleutel-waardepaar
site.update({'Author':'Sammy Shark'})
print("updated with Author: ", site)

# Maak een nieuw woordenboek aan
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

# Werk het oorspronkelijke woordenboek bij met het nieuwe woordenboek
site.update(guests)
print("updated with new dictionary: ", site)

De output is:

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

De output toont dat de eerste update een nieuw sleutel-waardepaar toevoegt en de tweede update de sleutel-waardeparen van het `guest` woordenboek toevoegt aan het `site` woordenboek. Let op dat als je een update uitvoert op een woordenboek en de sleutel al bestaat, de oude waarde wordt overschreven door de update.

Voeg toe aan Python Woordenboek Gebruikmakend van de Merge | Operator

Je kunt de woordenboek merge operator `|` gebruiken, voorgesteld door het pipe-teken, om twee woordenboeken samen te voegen en een nieuw woordenboekobject terug te geven.

Dutch Language
De volgende voorbeeld toont hoe twee woordenboeken te maken en de samenvoegoperator te gebruiken om een nieuw woordenboek te creëren dat de sleutel-waardeparen van beide bevat:

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)

De uitvoer is:

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

De twee woordenboeken werden samengevoegd tot een nieuw woordenboek dat de sleutel-waardeparen van beide woordenboeken bevat.

Als een sleutel in beide woordenboeken bestaat, wordt de waarde van het tweede woordenboek, ofwel de rechteroperand, genomen. In de volgende voorbeeldcode hebben beide woordenboeken een sleutel genaamd b:

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

dict3 = dict1 | dict2

print{"dict3: ", dict3}

De uitvoer is:

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

De waarde van sleutel b werd overschreven door de waarde van de rechteroperand, dict2.

Toevoegen aan Python-woordenboek met behulp van de Update-operator |=

U kunt de woordenboek-update-operator |= gebruiken, voorgesteld door de pijp- en gelijktekenkarakters, om een woordenboek ter plaatse bij te werken met het opgegeven woordenboek of waarden.

Net als de samenvoegoperator | neemt de updateoperator |= als een sleutel in beide woordenboeken bestaat, de waarde van de rechteroperand.

Het volgende voorbeeld toont hoe twee woordenboeken te maken, de update-operator te gebruiken om het tweede woordenboek aan het eerste woordenboek toe te voegen, en vervolgens het bijgewerkte woordenboek af te drukken:

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)

De uitvoer is:

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

In het voorgaande voorbeeld hoefde je geen derde woordenboekobject te maken, omdat de update-operator het oorspronkelijke object wijzigt. De uitvoer toont aan dat het guests-woordenboek is toegevoegd aan het oorspronkelijke site-woordenboek.

Conclusie

In dit artikel heb je verschillende methoden gebruikt om een Python-woordenboek aan te vullen en bij te werken. Ga verder met je leerproces met meer Python-zelfstudies.

Source:
https://www.digitalocean.com/community/tutorials/python-add-to-dictionary