Powiedzmy, że mam klasę, C
która ma atrybut a
.
Jaki jest najlepszy sposób, aby uzyskać sumę a
z listy C
w Pythonie?
Wypróbowałem następujący kod, ale wiem, że to nie jest właściwy sposób:
for c in c_list:
total += c.a
python
list
attributes
sum
jsj
źródło
źródło
Jeśli szukasz innych miar niż suma, np. Średnia / odchylenie standardowe, możesz użyć NumPy i zrobić:
mean = np.mean([c.a for c in c_list]) sd = np.std([c.a for c in c_list])
źródło
Miałem podobne zadanie, ale moje polegało na zsumowaniu czasu trwania jako twojego atrybutu
c.a
. Łącząc to z innym zadanym tutaj pytaniem , wymyśliłemsum((c.a for c in cList), timedelta())
Ponieważ, jak wspomniano w linku,
sum
potrzebuje wartości początkowej.źródło
Użyj wbudowanego
statistics
modułu:import statistics statistics.mean((o.val for o in my_objs))
źródło