web-dev-qa-db-ja.com

オブジェクトのリストの属性の合計/平均

属性Cを持つクラスaがあるとしましょう。

PythonでaのリストからCの合計を取得する最良の方法は何ですか?


次のコードを試しましたが、それが正しい方法ではないことはわかっています。

for c in c_list:
    total += c.a
61
jsj

ジェネレータ式 を使用します。

sum(c.a for c in c_list)
141
phihag

同様のタスクがありましたが、私はあなたの属性として期間を合計する必要がありましたc.a。これと別の質問を組み合わせて here で、私は思いついた

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

リンクで述べたように、sumには開始値が必要だからです。

3
Bill Kidd

合計以外のメジャーを探している場合、例えば平均/標準偏差、NumPyを使用して以下を実行できます。

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