Recherche de site Web

Comment ajouter à un dictionnaire en Python


Introduction

Le dictionnaire est un type de donnée intégré en Python. Un dictionnaire est une séquence de paires clé-valeur. Les dictionnaires sont des objets mutables, cependant, les clés des dictionnaires sont immuables et doivent être uniques au sein de chaque dictionnaire. Il n'y a pas de méthode d'ajout intégrée, mais il existe plusieurs façons d'ajouter et de mettre à jour un dictionnaire. Dans cet article, vous utiliserez l'opérateur d'affectation Python, la méthode update(), ainsi que les opérateurs de fusion et de mise à jour des dictionnaires pour ajouter et mettre à jour les dictionnaires Python.

Déployez vos applications Python depuis GitHub en utilisant la plateforme d'applications DigitalOcean. Laissez DigitalOcean se concentrer sur la scalabilité de votre application.

Quatre méthodes pour ajouter au dictionnaire Python

  1. Utiliser l'opérateur d'assignation
  2. Utiliser la méthode de mise à jour
  3. Utiliser l'opérateur de fusion
  4. Utiliser l'opérateur de mise à jour

Ajouter au dictionnaire Python en utilisant l'opérateur d'affectation =

Vous pouvez utiliser l'opérateur d'affectation = pour ajouter une nouvelle clé à un dictionnaire :

dict[key] = value

Si une clé existe déjà dans le dictionnaire, alors l'opérateur d'assignation met à jour, ou écrase, la valeur.

L'exemple suivant montre comment créer un nouveau dictionnaire, puis utiliser l'opérateur d'affectation = pour mettre à jour une valeur et ajouter des paires clé-valeur :

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)

La sortie est :

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

La sortie montre que la valeur de a est remplacée par la nouvelle valeur, la valeur de b reste inchangée, et de nouvelles paires clé-valeur sont ajoutées pour c et d.

Ajouter au dictionnaire Python sans écraser les valeurs

L'utilisation de l'opérateur d'affectation = écrase les valeurs des clés existantes avec les nouvelles valeurs. Si vous savez que votre programme pourrait avoir des clés dupliquées, mais que vous ne souhaitez pas écraser les valeurs originales, alors vous pouvez ajouter des valeurs de manière conditionnelle en utilisant une instruction if.

En poursuivant avec l'exemple de la section précédente, vous pouvez utiliser des instructions if pour ajouter uniquement de nouvelles paires clé-valeur au dictionnaire :

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)

La sortie est :

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}

La sortie montre que, en raison de la condition if, la valeur de c n'a pas changé lorsque le dictionnaire a été mis à jour de manière conditionnelle.

Ajouter au dictionnaire Python en utilisant la méthode update()

Vous pouvez ajouter un dictionnaire ou un itérable de paires clé-valeur à un dictionnaire en utilisant la méthode update(). La méthode update() écrase les valeurs des clés existantes avec les nouvelles valeurs.

L'exemple suivant montre comment créer un nouveau dictionnaire, utiliser la méthode update() pour ajouter une nouvelle paire clé-valeur et un nouveau dictionnaire, et imprimer chaque résultat :

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)

La sortie est :

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

La sortie montre que la première mise à jour ajoute une nouvelle paire clé-valeur et que la seconde mise à jour ajoute les paires clé-valeur du dictionnaire guest au dictionnaire site. Notez que si votre mise à jour d'un dictionnaire comprend une clé existante, alors la vieille valeur est écrasée par la mise à jour.

Ajouter au dictionnaire Python en utilisant l'opérateur de fusion |

Vous pouvez utiliser l'opérateur de fusion de dictionnaire |, représenté par le caractère pipe, pour fusionner deux dictionnaires et renvoyer un nouvel objet dictionnaire.

L'exemple suivant illustre comment créer deux dictionnaires et utiliser l'opérateur de fusion pour créer un nouveau dictionnaire contenant les paires clé-valeur des deux :

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)

La sortie est :

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

Les deux dictionnaires ont été fusionnés en un nouvel objet dictionnaire qui contient les paires clé-valeur des deux dictionnaires.

Si une clé existe dans les deux dictionnaires, alors la valeur du deuxième dictionnaire, ou opérande de droite, est la valeur retenue. Dans l'exemple de code suivant, les deux dictionnaires ont une clé appelée b :

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

dict3 = dict1 | dict2

print{"dict3: ", dict3}

La sortie est :

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

La valeur de la clé b a été écrasée par la valeur de l'opérande de droite, dict2.

Ajouter à un dictionnaire Python en utilisant l'opérateur de mise à jour |=

Vous pouvez utiliser l'opérateur de mise à jour de dictionnaire |=, représenté par les caractères pipe et égal, pour mettre à jour un dictionnaire sur place avec le dictionnaire ou les valeurs données.

Tout comme l'opérateur de fusion |, si une clé existe dans les deux dictionnaires, alors l'opérateur de mise à jour |= prend la valeur de l'opérande de droite.

L'exemple suivant montre comment créer deux dictionnaires, utiliser l'opérateur de mise à jour pour ajouter le deuxième dictionnaire au premier dictionnaire, puis imprimer le dictionnaire mis à jour :

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)

La sortie est :

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

Dans l'exemple précédent, vous n'aviez pas besoin de créer un troisième objet dictionnaire, car l'opérateur de mise à jour modifie l'objet original. La sortie montre que le dictionnaire guests a été ajouté au dictionnaire site original.

Conclusion

Dans cet article, vous avez utilisé différentes méthodes pour ajouter et mettre à jour un dictionnaire Python. Continuez votre apprentissage avec d'autres tutoriels Python.