如何在 Python 字典中找出非零值的平均數?


你可以透過遍歷字典並首先過濾出零值來做到這一點。然後對經過濾的值求和。最後,用這些經過濾的值的數量除以和。

示例

my_dict = {"foo": 100, "bar": 0, "baz": 200}
filtered_vals = [v for _, v in my_dict.items() if v != 0]
average = sum(filtered_vals) / len(filtered_vals)
print(average)

輸出

這將提供以下輸出 −

150.0

你也可以使用 reduce,但對於這樣的簡單任務來說,它就有點大材小用了。而且它的可讀性也遠低於使用列表推導。

更新於: 2020 年 3 月 05 日

2K+ 次瀏覽

開啟你的 職業 生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.