Suma / Średnia atrybut listy obiektów


82

Powiedzmy, że mam klasę, Cktóra ma atrybut a.

Jaki jest najlepszy sposób, aby uzyskać sumę az listy Cw 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

Odpowiedzi:



9

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])

4

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łem

sum((c.a for c in cList), timedelta())

Ponieważ, jak wspomniano w linku, sumpotrzebuje wartości początkowej.


0

Użyj wbudowanego statisticsmodułu:

import statistics

statistics.mean((o.val for o in my_objs))
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.