如何在 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,但對於像這樣的簡單任務而言,這有點過分。而且,它相比使用列表解析的可讀性也差得多。

更新於: 05-Mar-2020

2K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

立即開始
廣告