簡體   English   中英

Sum/Average 對象列表的屬性

[英]Sum / Average an attribute of a list of objects

假設我有C類,它具有屬性a

從 Python 中的C列表中獲取a總和的最佳方法是什么?


我已經嘗試了以下代碼,但我知道這不是正確的方法:

for c in c_list:
    total += c.a

使用生成器表達式

sum(c.a for c in c_list)

如果您正在尋找除總和以外的其他度量,例如均值/標准差,您可以使用 NumPy 並執行以下操作:

mean = np.mean([c.a for c in c_list])
sd = np.std([c.a for c in c_list])

我有一個類似的任務,但我的任務涉及將持續時間總結為您的屬性ca 結合這里提出的另一個問題,我想出了

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

因為,如鏈接中所述, sum需要一個起始值。

使用內置statistics模塊:

import statistics

statistics.mean((o.val for o in my_objs))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM