web-dev-qa-db-fra.com

Comment ajouter plusieurs valeurs à une clé de dictionnaire en python?

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).

58
PythonEnthusiast

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.

113
James K Polk

Que diriez-vous

a["abc"] = [1, 2]

Cela se traduira par:

>>> a
{'abc': [1, 2]}

Est-ce ce que vous cherchiez?

19
MattDMo