Digamos que tengo una clase C
que tiene atributo a
.
¿Cuál es la mejor manera de obtener la suma de a
una lista de C
en Python?
Probé el siguiente código, pero sé que no es la forma correcta de hacerlo:
for c in c_list:
total += c.a
python
list
attributes
sum
jsj
fuente
fuente
Si está buscando otras medidas además de la suma, por ejemplo, media / desviación estándar, puede usar NumPy y hacer:
mean = np.mean([c.a for c in c_list]) sd = np.std([c.a for c in c_list])
fuente
Tenía una tarea similar, pero la mía consistía en sumar una duración de tiempo como atributo
c.a
. Combinando esto con otra pregunta formulada aquí , se me ocurriósum((c.a for c in cList), timedelta())
Porque, como se menciona en el enlace,
sum
necesita un valor inicial.fuente
Utilice el
statistics
módulo integrado :import statistics statistics.mean((o.val for o in my_objs))
fuente