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