Je souhaite ajouter plusieurs valeurs à une clé spécifique dans un dictionnaire python. Comment puis je faire ça?
a = {}
a["abc"] = 1
a["abc"] = 2
Ceci remplacera la valeur d'un ["abc"] de 1 à 2.
Ce que je veux à la place, c'est qu'un ["abc"] ait plusieurs valeurs (les deux 1 et 2).
Faites de la valeur une liste, par exemple.
a["abc"] = [1, 2, "bob"]
MISE À JOUR:
Il existe deux manières d'ajouter des valeurs à la clé et de créer une liste s'il n'en existe pas déjà une. Je vais montrer une telle méthode par petites étapes.
key = "somekey"
a.setdefault(key, [])
a[key].append(1)
Résultats:
>>> a
{'somekey': [1]}
Ensuite, essayez:
key = "somekey"
a.setdefault(key, [])
a[key].append(2)
Résultats:
>>> a
{'somekey': [1, 2]}
La magie de setdefault
est qu'elle initialise la valeur de cette clé if cette clé n'est pas définie, sinon elle ne fait rien. En notant que setdefault
renvoie la clé, vous pouvez les combiner en une seule ligne:
a.setdefault("somekey",[]).append("bob")
Résultats:
>>> a
{'somekey': [1, 2, 'bob']}
Vous devriez regarder les méthodes dict
, en particulier la méthode get()
, et faire quelques expériences pour vous familiariser avec cela.
Que diriez-vous
a["abc"] = [1, 2]
Cela se traduira par:
>>> a
{'abc': [1, 2]}
Est-ce ce que vous cherchiez?