Q:

Sumar elementos contenidos en un diccionario Python

Necesito crear un diccionario que tenga la suma de elementos de otro diccionario, de la forma más eficiente computacionalmente hablando.
El diccionario principal es de la forma:
{'11': [0.76700000000000002, 3455.0, 0.76700000000000002, 0.76700000000000002, 34.0, 0.76700000000000002], '22': [34.0, 0.76700000000000002]}

Necesito crear un nuevo diccionario que contenga las mismas claves pero con la suma de los enteros del primer dicionario. La salida entonces sería:
{'11': [3458], '22': [34.767]}

A:

Si quieres crear un nuevo diccionario (no hacer la suma sobre el que ya tienes) lo más simple y eficiente puede ser usar diccionarios por compresión junto a la función preconstruida sum:
d = {'11': [0.76700000000000002, 3455.0, 0.76700000000000002,
            0.76700000000000002, 34.0, 0.76700000000000002],
     '22': [34.0, 0.76700000000000002]}

En Python 3:
r = {key: [sum(value)] for key, value in d.items()}

En Python 2:
r = {key: [sum(value)] for key, value in d.iteritems()}

La salida es:

{'11': [3492.0679999999993], '22': [34.767]}

La razón de usar dict.iteritems en Python 2 se debe a que dict.items retorna una lista de tuplas clave/valor en esta versión, pudiendo resultar en un problema de memoria y eficiencia con diccionarios extensos. iteritems retorna un iterador. En Python 3, dict.items retorna un view object, el cual es iterable.

Si deseas evitar en lo posible los errores de precisión ocasionadas por las sumas intermedias y su representación en punto flotante, puedes usar math.fsum:

Python 3:
import math

r = {key: [math.fsum(value)] for key, value in d.items()}

Python 2:
import math

r = {key: [math.fsum(value)] for key, value in d.iteritems()}

Salida:

{'11': [3492.068], '22': [34.767]}

Dado que estas creando una lista con un solo elemento, si no vas a usar esa lista posteriormente, crea las claves con la suma solamente:
r = {key: math.fsum(value) for key, value in d.items()}

Salida:

{'11': 3492.068, '22': 34.767}

