
En Python, vous pouvez ajouter un nouvel élément au dictionnaire dict avec dict_object[key] = new_value. De cette façon, si la clé existe déjà, la valeur est mise à jour (écrasée) avec la nouvelle valeur.
En utilisant la méthode setdefault(), vous pouvez ajouter des éléments avec de nouvelles valeurs uniquement pour les nouvelles clés sans modifier les valeurs des clés existantes.
Ceci est utile lorsque vous ne souhaitez pas modifier un élément existant.
Cet article décrit le contenu suivant.
- Ajouter et mettre à jour un élément dans le dictionnaire en spécifiant la clé
- Comment utiliser la méthode setdefault()
- Valeur de retour de la méthode setdefault()
in est utilisé pour tester si la clé existe dans dict ou non. Voir l’article suivant.
Ajouter et mettre à jour un élément dans le dictionnaire en spécifiant la clé
Vous pouvez ajouter/mettre à jour des éléments de dictionnaire de la manière suivante.
dict_object[key] = new_value
Si une clé inexistante est spécifiée, un nouvel élément est ajouté. Si une clé qui existe déjà est spécifiée, la valeur existante est mise à jour (écrasée).
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}
Pour plus d’informations sur l’ajout simultané de plusieurs éléments ou la fusion de plusieurs dictionnaires, consultez les articles suivants.
Comment utiliser la méthode setdefault()
Dans la méthode setdefault(), le premier argument est la clé et le second la valeur.
Si la clé spécifiée dans le premier argument n’existe pas, un nouvel élément est ajouté.
d = {'k1': 1, 'k2': 2}
d.setdefault('k3', 3)
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}
La valeur par défaut du second argument est None. S’il est omis, l’élément avec la valeur Aucun est ajouté.
d.setdefault('k4')
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': None}
Si la clé spécifiée comme premier argument existe déjà, l’élément existant reste inchangé en tant qu’original, quelle que soit la valeur spécifiée comme deuxième argument.
d.setdefault('k1', 100)
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': None}
Valeur de retour de la méthode setdefault()
La méthode setdefault() renvoie la valeur de la clé spécifiée comme premier argument.
Si la clé spécifiée dans le premier argument n’existe pas, l’élément est ajouté avec la valeur spécifiée dans le deuxième argument, puis la valeur est renvoyée.
print(d.setdefault('k5', 5))
# 5
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': None, 'k5': 5}
Si le deuxième argument est omis, l’élément dont la valeur est None est ajouté et None est renvoyé.
print(d.setdefault('k6'))
# None
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': None, 'k5': 5, 'k6': None}
Si la clé spécifiée dans le premier argument existe déjà, la valeur de cette clé est renvoyée telle quelle.
print(d.setdefault('k1', 100))
# 1
print(d.setdefault('k1', -100))
# 1
print(d.setdefault('k1'))
# 1
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': None, 'k5': 5, 'k6': None}