valor recorrer propiedades funciones elementos ejemplo diccionarios diccionario comparar buscar agregar actualizar python dictionary hash sum

recorrer - python comparar diccionarios



¿Cómo se suman todos los valores en un diccionario? (3)

Como era de esperar:

sum(d.values())

En Python <3, es posible que desee utilizar itervalues en itervalues lugar (que no crea una lista temporal).

Digamos que tengo un diccionario en el que las teclas se asignan a enteros como:

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

¿Hay una manera sintácticamente minimalista de devolver la suma de los valores en d -ie 62 en este caso?


En Python 2 puede evitar realizar una copia temporal de todos los valores utilizando el método del diccionario itervalues() , que devuelve un iterador de las claves del diccionario:

sum(d.itervalues())

En Python 3 puedes simplemente usar d.values() porque ese método fue cambiado para hacer eso (y se itervalues() porque ya no era necesario).

Para facilitar la escritura de código independiente de la versión que siempre itera sobre los valores de las claves del diccionario, una función de utilidad puede ser útil:

import sys def itervalues(d): return iter(getattr(d, (''itervalues'', ''values'')[sys.version_info[0]>2])()) sum(itervalues(d))

Esto es esencialmente lo que hace el six módulos de Benjamin Peterson.


Seguro que hay Aquí hay una manera de sumar los valores de un diccionario.

>>> d = {''key1'':1,''key2'':14,''key3'':47} >>> sum(d.values()) 62