web-dev-qa-db-fra.com

Comment additionner toutes les valeurs dans un dictionnaire?

Disons que j'ai un dictionnaire dans lequel les clés correspondent à des entiers comme:

d = {'key1': 1,'key2': 14,'key3': 47}

Existe-t-il un moyen syntaxiquement minimaliste de renvoyer la somme des valeurs dans d— c'est-à-dire. 62 dans ce cas?

189
nedblorf

Comme vous vous en doutez:

sum(d.values())

Dans Python <3, vous voudrez peut-être utiliser itervalues à la place (ce qui ne construit pas de liste temporaire).

368
phihag

Bien sûr il y a. Voici un moyen de faire la somme des valeurs d'un dictionnaire.

>>> d = {'key1':1,'key2':14,'key3':47}
>>> sum(d.values())
62
12
vz0
d = {'key1': 1,'key2': 14,'key3': 47}
sum1 = sum(d[item] for item in d)
print(sum1)

vous pouvez le faire en utilisant la boucle for

3
Kalyan Pendyala

Je pense que sum(d.values()) est le moyen le plus efficace d’obtenir la somme.

Vous pouvez également essayer la fonction de réduction pour calculer la somme avec une expression lambda:

reduce(lambda x,y:x+y,d.values())
2
Pratyush Raizada

sum (d.values ​​()) - "d" -> Votre variable de dictionnaire

1
Behlul Valiyev